2010-10-11 2 views
1

Actuellement en utilisant Tweener et je me demande comment je peux tween une variable régulière?Comment puis-je interpoler un numéro?

private var health:int = 100; 

// And then somewhere else in the class 
var amount:int = 50; 

Tweener.addTween(this.health, {value:amount, 
           onComplete:healCompleted, 
           time:0.5, 
           transition:"easeOutExpo"}); 

Voilà ce que je me fais et ce genre de tweening travaille sur d'autres tweeners comme GTween mais ce projet utilise Tweener.

Le problème est avec la section "valeur", comment puis-je mettre la valeur de la variable là-bas?

L'erreur que je reçois est

Valeur de la propriété non trouvée sur le nombre et il n'y a pas de valeur par défaut.

Répondre

1

Vous pouvez essayer ceci:

 
//define a health Object 
//anywhere in your code , instead of accessing the health integer, you 
//would access its value property. 
var health:Object = {value:100}; 

var amount:int = 50; 

Tweener.addTween(this.health, {value:amount, 
           onComplete:healCompleted, 
           time:0.5, 
           transition:"easeOutExpo"}); 

D'autre part, suivant la logique ci-dessus, vous pouvez directement interpoler la variable en attribuant à un objet conteneur avec une propriété de valeur.

+0

Merci, ça marche très bien. –

2

Si la santé est une propriété publique de votre classe, il travaillera en ajoutant simplement votre tween à l'objet qui a la propriété, et non à la propriété elle-même, comme toujours avec les préadolescents:

Tweener.addTween(this, { health:amount, 
         onComplete:healCompleted, 
         time:0.5, 
         transition:"easeOutExpo"}); 
0

La première chose faire est de faire le health var public. De cette façon, Tweener peut obtenir la valeur de cette variable, et l'obtenir aussi. Une autre façon d'y parvenir est de faire un getter et un setter pour la variable de santé.

Ensuite, votre tween fonctionnerait lorsque vous utilisez le code d'exemple de grapefrukt.

Questions connexes