Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash 帮助将基于字符串的数组转换为类变量名_Flash_Actionscript 3 - Fatal编程技术网

Flash 帮助将基于字符串的数组转换为类变量名

Flash 帮助将基于字符串的数组转换为类变量名,flash,actionscript-3,Flash,Actionscript 3,我有一个数组,它是类引用的文字名称。在我的主课上,我有 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,

我有一个数组,它是类引用的文字名称。在我的主课上,我有

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类型的对象(并抛出tweenLite错误,因为我试图将字符串设置为tweenLite),这对我没有帮助

思考如何处理我正在尝试做的事情的更好方法是什么


非常感谢

您可以改用[]初始化。它不仅能与您想要实现的目标协同工作,而且比使用新工具更快

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, page2, page3];

trace(sections[0]);
trace(sections[1]);
trace(sections[2]);
输出:

[object Sprite]
[object Sprite]
[object Sprite]

编辑你的问题,把你的输出和解释更详细的什么样的错误,你收到。非常感谢。顺便说一句,我之前就试过了,失败的原因是我在一个开关中实例化了脚本深处的页面类,所以它跟踪null。当我把page1:PageOne=新的PageOne放在构造函数之前时,一切都正常了。再次感谢!!