|
|
|||||
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
я не знаю, но возможно где то можно задать чистоту вызова ( как ентерФрайм ).
И можно Вам личный вопрос задать - Вам когда нибудь давали советы не строить свои велосипеды, ведь уже есть для всего готовые решения? Добавлено через 56 секунд Tails ещё раз Вам Спасибо! за обьяснение о getTimer. |
|
|||||
Регистрация: Sep 2010
Адрес: Moscow
Сообщений: 473
|
Да не нашел я велосипеда... вот и ищу ответа здесь
|
|
|||||
так не?
И так не? Велосипеда не нашел потому что некуда его тут крутить. Не вижу проблемы. Приведенный код реализуем практически во всех твинерах, я не знаю какой используете конкретно вы. Я предпочитаю eaze-tween/.
__________________
Кто к нам с чем для чего - тот у нас того от того. Последний раз редактировалось Dukobpa3; 28.10.2013 в 20:18. |
|
|||||
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Цитата:
|
|
|||||
Ну попробуй да сравни
Лайт с максом как минимум платные. Ну и синтаксис тут приятный, и возможности богатые, и вес маленький. Одни только твины по безье чего стоят.
__________________
Кто к нам с чем для чего - тот у нас того от того. |
|
|||||
Ребят, вы усложняете все.
Ставим либу TweenLite от greensock.com . var barBackground:Sprite = new Sprite(); barBackground.graphics.lineStyle(2); barBackground.graphics.beginFill(0xffcc33); barBackground.graphics.drawRect(0,0,200,20); addChild(barBackground); var bar:Sprite = new Sprite(); bar.graphics.lineStyle(2); bar.graphics.beginFill(0xcc9999); bar.graphics.drawRect(0,0,200,20); addChild(bar); bar.scaleX = 0; TweenLite.to(bar, 20, { scaleX: 1 }); И не забываем импортировать |
|
|||||
Пример написан в браузере. Я напомнил об импорте TweenLite, так как предполагаю, что автор может поначалу забыть за это дело.
|
|
|||||
Люди, человеку нужен обычный прогресс бар с плавным индикатором - полоской. Твиннер тут совершенно не к месту. Всё это делается гораздо проще:
Vansimar, Ваши 20 секунд - относятся к логике игры, а не самой полоске. Полоска не должна знать, что именно вы ею отображаете. Полоска - это обычный прогресс бар. Он может отображать время до монстров, значение здоровья, уровень угрозы - всё что угодно. Это я к тому, что необходимо разделить области задач. Я для вас написал простой класс - пример анимированного индикатора. Этот индикатор отображает значения от 0 до 1: package utils { import starling.animation.IAnimatable; import starling.display.Quad; import starling.display.Sprite; /// Простой прогресс бар. public class ProgressBar extends Sprite implements IAnimatable{ /// Скорость перемещения полоски. (percent/sec) private static const ANIMATION_SPEED:Number = .5; private var _value:Number; // Отображаемое значение. private var _line:Quad; // Полоска индикатор. public function ProgressBar() { super(); var bg1:Quad = new Quad(360, 20, 101010); addChild(bg1); var bg2:Quad = new Quad(350, 10, 040404); bg2.x = 5; bg2.y = 5; addChild(bg2); _line = new Quad(350, 10, 0x00ff00); _line.x = 5; _line.y = 5; _value = 1; addChild(_line); } public function advanceTime(time:Number):void { if (_line.scaleX > _value) { _line.scaleX -= ANIMATION_SPEED * time; if(_line.scaleX < value) _line.scaleX = value; }else if (_line.scaleX < _value) { _line.scaleX += ANIMATION_SPEED * time; if(_line.scaleX > value) _line.scaleX = value; } } /// Отображаемое значение. public function get value():Number { return _value; } public function set value(value:Number):void { if (value < 0) value = 0; else if (value > 1) value = 1; _value = value; } } } var progressBar:ProgressBar = new ProgressBar; addChild(progressBar); progressBar.value = .5; Starling.juggler.add(progressBar); Далее, вам нужно лишь указывать ему отображаемое значение. Например, время до следующей волны монстров. Всё что вам для этого нужно - это знать: сколько времени уже прошло и сколько всего они будут идти. То-есть так: _currentTime - Время, которое уже прошло. Например - 18 секунд. _totalTime - Время, которое необходимо что-бы волна подошла. Например - 20 секунд. Соответственно, раз текущее время уже 18 секунд, через 2 секунды появятся новые мобы. 18/20 = 0.9. Индикатор покажет почти заполненную полоску. Каждый шаг в игре, значение _currentTime увеличивается. И когда в игре пройдёт ещё 2 секунды, индикатор покажет 100% а на экране - появятся монстры.
__________________
Дети не должны знать о своих родителях Последний раз редактировалось Tails; 29.10.2013 в 15:35. |
|
|||||
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Цитата:
__________________
Отряд Котовскага |
Часовой пояс GMT +4, время: 09:14. |
|
« Предыдущая тема | Следующая тема » |
|
|