![]() |
|
||||||||||
|
|
|
|||||
|
Создание обычного прямоугольного прогресс-бара не вызывает никаких сложностей, а как быть в случае с кольцом? Т.е. чтоб процесс загрузки отображался путем закрашивания кольца а не прямоугольника. Неоднократно встречал такие прогресс-бары в прелоадерах - как такое можно реализовать?
|
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Рисовать частично закрашенное кольцо программно, например.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
|
Это понятно ) Вопрос именно в том КАК анимировать маску в данном случае
Добавлено через 3 минуты Кстати с масками не работал еще %) Сейчас я прямоугольный прогрессбар рисую двумя методами: 1. Чисто программно - при обновлении прогресса удаляю старый прямоугольник и рисую новый прямоугольник нужной длины (не самый оптимальный вариант) 2. 50/50 - есть красивый прямоугольник в джипеге/пнг, поверх него лежит прямоугольник цвета фона. Его при обновлении прогресса уменьшаю через scaleX - получается эффект движения прогресс-бара. А как с маской? |
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
Так, как пишут в документации.
|
|
|||||
public class Main extends Sprite { private var circ:Shape; private var rect:Shape; private var preloader:Sprite; public function Main():void { circ = new Shape(); circ.graphics.beginFill(0); circ.graphics.drawCircle(30, 30, 30); rect = new Shape(); rect.graphics.beginFill(0x00CCFF); rect.graphics.drawRect(0, 0, 60, 60); rect.y = rect.height; rect.mask = circ; preloader = new Sprite(); preloader.addChild(rect); preloader.addChild(circ); this.addChild(preloader); this.addEventListener(Event.ENTER_FRAME, loop); } private function loop(e:Event):void { if (rect.y == 0){ this.removeEventListener(Event.ENTER_FRAME, loop); return; } rect.y -= 2; }
__________________
Я мало чего умею, но зато хорошо умею учиться... |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:00. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| mask , round preloader |
|
|