我如何补间数字?

时间:2010-10-11 10:14:30

标签: flash actionscript-3 tweener

目前使用Tweener并想知道如何补间常规变量?

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"});

这就是我想象的,这种补间对其他推文如GTween有效,但这个项目使用的是Tweener。

问题在于“值”部分,我如何将变量的值放在那里?

我得到的错误是

  

在Number上找不到属性值,并且没有默认值。

3 个答案:

答案 0 :(得分:2)

如果health是您的类的公共属性,它只需将补间添加到具有该属性的对象,而不是属性本身,就像补间一样:

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

答案 1 :(得分:1)

你可以试试这个:

//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"});

另一方面,遵循上述逻辑,您可以通过将变量赋值给具有value属性的容器Object来直接补间变量。

答案 2 :(得分:0)

首先要做的是health var public。这样Tweener就可以获得该变量的值,并获得它。另一种实现方法是通过为健康变量创建一个getter和setter。

然后当你使用grapefrukt的示例代码时,你的补间会起作用。