![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2010
Адрес: арх. обл.
Сообщений: 38
|
Здравствуйте. потребовалось мне сделать визуальный таймер(такой типа как загрузчик с ползущей полосой). на с колько я понимаю к этому делу нужно подцеплять класс ТАЙМЕР. но вот как сделать визуальное отбражение, то есть чтоб полоска двигалась? помогите пожалуйста
|
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
а начало и конец полоски - это что?
__________________
Загружаем картинки, минуя ошибки безопасности |
|
|||||
|
Изменяйте свойство width полоски. Или scaleX. Или, соответственно, height, scaleY, в случае вертикальной полосы.
|
|
|||||
|
Регистрация: Dec 2010
Адрес: арх. обл.
Сообщений: 38
|
ну суть такова: подходит герой к бонусу и чтоб его взять герой должен находится возле бонуса определенное время, чтоб игрок знал что таймер пошел или сколько осталось делается визуальное отображение.
|
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
У меня вот такая штука работает:
package classes.interfaceElements { import flash.display.*; import flash.events.*; import flash.utils.*; public class ProgressBarShower extends Sprite { public static const PROGRESS_BAR_FINISHED:String = "progressBarFinished"; public var targetObject:Sprite; private var progressBarMC:ProgressBarMC; private var timer:Timer; private var value:int; private var step:int = 0; public function ProgressBarShower(targetObject:Sprite,value:int) { this.targetObject = targetObject; progressBarMC = new ProgressBarMC(); progressBarMC.barScale.scaleX = 0; progressBarMC.x = -50; progressBarMC.y = -50; targetObject.addChild(progressBarMC); timer = new Timer(value/10); timer.addEventListener(TimerEvent.TIMER, onTimer); timer.start(); } private function onTimer(e:Event) : void { step++; if (step > 10) { timer.stop(); timer.removeEventListener(TimerEvent.TIMER, onTimer); dispatchEvent(new Event(PROGRESS_BAR_FINISHED)); targetObject.removeChild(progressBarMC); } else { progressBarMC.barScale.scaleX = step * 0.1; } } } } Последний раз редактировалось mikhailk; 13.02.2011 в 22:15. |
|
|||||
|
Регистрация: Dec 2010
Адрес: арх. обл.
Сообщений: 38
|
значит написал я свой визуальный таймер, состоящий из брусочков. эти брусочки сохраняются в мувиклип, и когда таймер стартует еще раз, те брусочки которые были добавлены в прошлый раз тоже показываются. Поэтому у меня такой вопрос: как мувиклип делать пустым?
|
|
|||||
|
Регистрация: Dec 2010
Адрес: арх. обл.
Сообщений: 38
|
эээ я понимаю все уважают Чехова но нельзя ли подробней пожалуйста?
|
|
|||||
|
Можно. Sprite (равно как и MovieClip) является потомком класса DisplayObjectContainer, от которого он и наследует свойство numChildren. То же с методом removeChildAt. Всякий раз когда мы удаляем очередного потомка экранного объекта с индекса 0, мы уменьшаем значение его свойства numchildren на единицу. Таким образом цикл будет продолжен до тех пор пока у экранного объекта не останется детей (бедняга). Кстати, проверка на != 0 необязательна, ибо 0 при проверке условия преобразуется в false, на чем цикл и завершается.
Последний раз редактировалось bav; 18.02.2011 в 22:08. |
![]() |
![]() |
Часовой пояс GMT +4, время: 13:45. |
|
|
« Предыдущая тема | Следующая тема » |
|
|