问题描述
||
我有一个数组,它们是类引用的文字名称。例如。在我的主要班上,我有
var page1:PageOne = new PageOne();
var page2:PageTwo = new PageTwo();
var page3:PageThree = new PageThree();
var sectionsArray = new Array (\'page1\',\'page2\',\'page3\')
我想写但不能写的是:
var sectionsArray = new Array (page1,page2,page3)
我试图根据这些值补间,但是由于该值是String类型的,因此无法将这些值与它们表示的类引用相关联。所以我尝试了类似的东西:
var tweenObj:Object = _sectionsArray[0] as Object
TweenLite.to(tweenObj,1,{alpha:0});
但是所有这一切都使它成为String类型的Object(并因为我试图补间字符串而抛出tweenLite错误),这对我没有帮助。
有什么更好的方法来考虑我要处理的事情?
首先十分感谢!!
解决方法
您可以改用[]初始化。它不仅可以与您要实现的目标一起使用,而且比使用new更快。
var sections:Array = [page1,page2,page3];
然后,在使用对象时,您只需执行以下操作:
TweenLite.to(sections[0],1,{alpha:0});
由于数组中的所有对象都是正确的类型,因此在将它们与Tweenlite
一起使用之前,无需进行类型转换。
概念证明:
var page1:Sprite = new Sprite();
var page2:Sprite = new Sprite();
var page3:Sprite = new Sprite();
var sections:Array = [page1,page3];
trace(sections[0]);
trace(sections[1]);
trace(sections[2]);
输出:
[object Sprite]
[object Sprite]
[object Sprite]