0 votes

Rendre le compteur de TweenMax et AS3 "gestionnaire d'écrasement".

Comment faire un compteur en utilisant Greensocks TweenMax ou TweenLite ? Quelqu'un comprend-il le gestionnaire d'écrasement ?

Mon code sera en AS3. Je veux qu'il soit basé sur une minuterie, et qu'il soit capable de se réinitialiser et de boucler. Des conseils ou un code de démarrage seraient les bienvenus. En outre, est-il mauvais d'utiliser des moteurs d'interpolation ? Faites-moi savoir.

IDEES
colonne de nombres mobiles "incrémentée par des pixels".
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

Apparition "les choses apparaissent et disparaissent, comme dans le cas de la méthode load-sprite-method".
"aucun exemple"

Mes problèmes
-Mouvements en boucle infinis
-mise à l'échelle temporelle globale et plancher mathématique
-Accumulation d'ordures

0voto

Adam Harte Points 6449

On dirait que vous avez l'habitude de trop compliquer les choses. Je n'utiliserais probablement pas de moteur d'interpolation, mais je pourrais utiliser la classe Timer.

Je séparerais également les choses en morceaux gérables. Pour l'instant, on dirait que vous avez votre code de synchronisation et votre code d'affichage tous mélangés ensemble. Je voudrais créer ces parties séparées :

  1. CounterTimer - Le truc qui permet de savoir ce que Comte votre jusqu'à (basé sur le temps).
  2. Contre-vue - Le graphisme visuel de votre compteur. Son seul travail est de rendre le nombre qu'il représente. TOLD à afficher. Et gérer les transitions entre les états.
  3. Contrôleur de compteur - Une sorte d'intermédiaire. Il récupère le nombre actuel à partir de CounterTimer, et demande à CounterView d'effectuer le rendu de ce nombre (basé sur les images, car on ne peut effectuer qu'un seul rendu par image).

En le décomposant ainsi, vous pouvez vous concentrer sur un seul composant à la fois et le tester indépendamment des autres. Par exemple, vous pouvez d'abord construire le CounterView. Il s'agit probablement d'un MovieClip qui contient vos graphiques sur la scène. Il pourrait avoir une méthode appelée :

public function displayNumber(numberToDisplay:Number):void

Lorsque cette méthode est appelée, le CounterView affiche les graphiques correspondant à ce nombre, y compris les transitions. Pour tester ce composant, il suffit d'appeler cette méthode depuis le parent CounterView, avec un nombre aléatoire. Une fois que cela fonctionne, vous pouvez commencer à travailler sur le CounterTimer.

Pour le CounterTimer, vous voudrez probablement qu'il ait un peu plus d'API, par exemple.

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

Lorsque CounterTimer est terminé, il suffit de lancer le CounterController pour les relier entre eux. Le CounterController devra écouter l'évènement enterframe, et dire à CounterView d'afficher le compte de CounterTimer à chaque image.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X