Сделайте счетчик в TweenMax и AS3 "менеджер перезаписи" - PullRequest
0 голосов
/ 11 февраля 2010

Как бы я сделал счетчик, используя Greensocks TweenMax или TweenLite? Кто-нибудь понимает менеджер перезаписи?

Мой код будет в AS3. Я хочу, чтобы это было основано на таймере, и быть способным или сбросить его сам и цикл. Совет или стартовый код будет круто. Кроме того, это плохо, чтобы использовать двигатели твенинга? Дайте мне знать.

ИДЕИ
столбец подвижных чисел "приращения в пикселях"
0
1
2
3
4
5
6
7
8
9
0

//1
TweenMax.to
(num7, 1, {y:-3911, delay:1, paused:false, useFrames : false, immediateRender : false});
//2
TweenMax.to
(num7, 1, {y:85, delay:2, paused:false, useFrames : false, immediateRender : false});
//3
TweenMax.to
(num7, 1, {y:-3911, delay:3, paused:false, useFrames : false, immediateRender : false});
//4
TweenMax.to
(num7, 1, {y:85, delay:4, paused:false, useFrames : false, immediateRender : false});
//5
TweenMax.to
(num7, 1, {y:-3911, delay:5, paused:false, useFrames : false, immediateRender : false});
//6
TweenMax.to
(num7, 1, {y:85, delay:6, paused:false, useFrames : false, immediateRender : false});
//7
TweenMax.to
(num7, 1, {y:-3911, delay:7, paused:false, useFrames : false, immediateRender : false});
//8
TweenMax.to
(num7, 1, {y:85, delay:8, paused:false, useFrames : false, immediateRender : false});
//9
TweenMax.to
(num7, 1, {y:-3911, delay:9, paused:false, useFrames : false, immediateRender : false});
//10

Внешний вид «вещи появляются и исчезают, как метод load-sprite»
«без примера»

Мои проблемы
бесконечные циклические движения
глобальное масштабирование времени и математический пол
-производство мусора

1 Ответ

0 голосов
/ 12 февраля 2010

Похоже, у вас есть привычка усложнять вещи. Я, вероятно, не использовал бы движок твенинга, но мог бы использовать класс Timer.

Я бы тоже разделил вещи на управляемые куски. На данный момент похоже, что у вас есть свой временной код, и вы отображаете код, все смешанное вместе. Я хотел бы создать эти отдельные части:

  1. CounterTimer - штука, которая выясняет, что считает до (на основе времени).
  2. CounterView - Визуальная графика вашего счетчика. Задача состоит только в том, чтобы отобразить то, что когда-либо будет отображаться TOLD . И обрабатывать переходы между состояниями.
  3. CounterController - Вроде среднего человека. Получает текущий счетчик из CounterTimer и сообщает CounterView визуализировать это число (по кадрам, поскольку вы можете визуализировать только один раз за кадр).

Если разбить его так, это означает, что вы можете сконцентрироваться на одном компоненте за раз и проверить, что одна часть изолирована от других частей. Например; Сначала вы можете построить CounterView. Вероятно, это будет MovieClip, который содержит вашу графику на сцене. Это может иметь метод с именем:

public function displayNumber(numberToDisplay:Number):void

Когда этот метод вызывается, CounterView покажет графику для этого числа, включая переходы. Чтобы проверить этот компонент, просто вызовите этот метод из родительского элемента CounterView со случайным числом. Как только он заработает, вы можете начать работать с CounterTimer.

Для CounterTimer вы, вероятно, захотите, чтобы он имел немного больше API, например

public function CounterTimer( startCount:Number ) //This is the constructor.
public function start()
public function reset():void
public function getCount():Number

Когда CounterTimer закончится, просто запустите CounterController, чтобы соединить их вместе. CounterController должен будет прослушать событие enterframe и сообщить CounterView отображать счетчик CounterTimer в каждом кадре.

...