Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.01.2012, 12:08
dmitry bond вне форума Посмотреть профиль Отправить личное сообщение для dmitry bond Найти все сообщения от dmitry bond
  № 1  
Ответить с цитированием
dmitry bond
 
Аватар для dmitry bond

Регистрация: Jan 2010
Адрес: владивосток
Сообщений: 250
По умолчанию Angle для мувиклипа(круговой прелоадер)

Добрый день
Кто нибудь сталкивался с созданием кругового прелоадера, когда линия загрузки идет по кругу.
У меня идея создать это с помощью angle(start angle, end angle), но встретился с проблемой, существуют ли такие параметры у мувиклипа в as3. У овальной области в овал параметрс эти параметры есть.

Старый 06.01.2012, 12:46
nOobCrafter вне форума Посмотреть профиль Отправить личное сообщение для nOobCrafter Найти все сообщения от nOobCrafter
  № 2  
Ответить с цитированием
nOobCrafter

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
был пример с программной отрисовкой окружности, но т.к. за раз отрисовывается градус то выглядит не гладко, так же можно руками нарисовать.

Старый 06.01.2012, 13:27
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 3  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Можно так например:
Нарисовать ручками мувиклип, где допустим за 100 кадров круг заполняется. И в класе прелоадера просто отображать его № кадра, соответствующего %-у загруженного.

Если без анимаций, тогда отрисовать линию загрузки как полу-круг под маской, и манипулировать ротацией
__________________
Дети не должны знать о своих родителях


Последний раз редактировалось Tails; 06.01.2012 в 13:41.
Старый 06.01.2012, 16:04
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 4  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Эти круговые загрузки 2-мя способами делают:
1. 100-кадровый анимированный ролик (в котором балуются вращением масок в виде половины бублика и движением самой линии в виде половины бублика)
2. маска или сама линия рисуется с помощью матана. Можно погуглив найти библиотеки, позволяющие рисовать дуги. Само API флешплеера такого не умеет - только кривые безье.

О, рисование сигмента у себя нашёл:
Код AS3:
        public static function drawArc(g:Graphics, begin:Number, end:Number, radius:Number, color:uin):void
	{
		g.beginFill(color.getColor(), color.getAlpha());
		g.moveTo(0, 0);
 
		var numSegments:int = Math.ceil((end - begin) * 4 / Math.PI);
		var deltaAngle:Number = (end - begin) / numSegments;
		var externalRadius:Number = radius / Math.cos(deltaAngle * .5);
		g.lineTo(Math.cos(begin) * radius, Math.sin(begin) * radius);
		for (var i:int = 0; i < numSegments; i++)
		{
			var angle:Number = begin + (i + 1) * deltaAngle;
			var halfAngle:Number = begin + (i + .5) * deltaAngle;
			var x1:Number = Math.cos(halfAngle) * externalRadius;
			var y1:Number = Math.sin(halfAngle) * externalRadius;
			var x2:Number = Math.cos(angle) * radius;
			var y2:Number = Math.sin(angle) * radius;
			g.curveTo(x1, y1, x2, y2);
		}
 
		g.lineTo(0, 0);
		g.endFill();
	}


Последний раз редактировалось expl; 06.01.2012 в 16:18.
Старый 06.01.2012, 16:23
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 5  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Собственно круги рисовать не обязательно, можно построить маску и на основе прямоугольника.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 06.01.2012, 16:43
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 6  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Но там тоже не сахар - придется искать пересечение этой повернутой линии с одной из 4-х сторон этого прямоугольника.
...если только вручную (в этом 100-кадровом клипе) вместо круга прямоугольник изобразить - может чуть поменьше процессорного времени есть будет.


Последний раз редактировалось expl; 06.01.2012 в 16:46.
Старый 06.01.2012, 16:52
SvetozarPNZ вне форума Посмотреть профиль Отправить личное сообщение для SvetozarPNZ Найти все сообщения от SvetozarPNZ
  № 7  
Ответить с цитированием
SvetozarPNZ
 
Аватар для SvetozarPNZ

Регистрация: Dec 2009
Сообщений: 125
Записей в блоге: 1
В частном случае можно рисовать лучи из одного центра, который можно закрыть маской. Толщину лучей подобрать экспериментально.

Старый 06.01.2012, 17:33
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 8  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Както делал... Нужен был троббер вроде Spinning Wheel, но как-то легко получилась штука более универсальная – можно использовать и как прелоадер, вычисляя нужный угол сектора, и как маску для шкалы вращающейся ручки-слайдера. По сути это просто рисовалка сектора с "дыркой" или без (innerRadius = 0) с задаваемым начальным углом (rotation) и длиной дуги (arc) – всё в градусах.
Throbber.swf   (2.3 Кб)

По какому-нибудь событию производим обновление ( update() ). Для троббера просто слушаем ентерФрейм и меняем стартовый угол (пример 1). Для прелоадера или шкалы соответственно вычисляем длину дуги (по проценту загрузки/углу поворота ручки) и меняем ее, оставляя стартовый угол постоянным (пример 2 и 3).
Вложения
Тип файла: zip Throbber.zip (3.9 Кб, 235 просмотров)
Тип файла: swf Throbber.swf (2.3 Кб, 612 просмотров)
__________________
Reality.getBounds(this);


Последний раз редактировалось Wolsh; 30.01.2013 в 19:48.
Старый 06.12.2013, 14:29
a7s1h1 вне форума Посмотреть профиль Отправить личное сообщение для a7s1h1 Найти все сообщения от a7s1h1
  № 9  
Ответить с цитированием
a7s1h1

Регистрация: Oct 2013
Сообщений: 126
Цитата:
Сообщение от Wolsh Посмотреть сообщение
Както делал... Нужен был троббер вроде Spinning Wheel, но как-то легко получилась штука более универсальная – можно использовать и как прелоадер, вычисляя нужный угол сектора, и как маску для шкалы вращающейся ручки-слайдера. По сути это просто рисовалка сектора с "дыркой" или без (innerRadius = 0) с задаваемым начальным углом (rotation) и длиной дуги (arc) – всё в градусах.
Очень удобно. Правда, при таком обилии вычислений без комментариев взрывается мозг.

Создать новую тему Ответ Часовой пояс GMT +4, время: 08:26.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 08:26.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.