我必须假设我缺少一些简单的东西,或者我不理解某些东西,但我似乎无法想象这一点。
我有一个字符串列表,我添加到一个数组,然后尝试使用我读入的数据在for循环中设置这些值。数组得到更新,但数组包含的值没有。我也有一系列按钮,我更新同样的方式工作得很好,但字符串似乎没有相同的方式。我试过移动字符串数组给它全范围,但仍然没有...我错过了什么?
public class test extends Sprite
{
// Declare a list of strings
protected var title0:String = undefined;
protected var title1:String = undefined;
protected var title2:String = undefined;
protected function onDataLoad(evt:Event):void{
var titleArray:Array = new Array(title0,title1,title2); // Array of strings
for(i=0; i<=evt.target.data.count; i++){
titleArray[i] = evt.target.data["title"+i]; // attempt to set the title values
}
}
protected function function0(e:Event):void {
trace("My title is: " + title0); // title0 is null
}
}
答案 0 :(得分:0)
它与AS3如何存储Array元素有关。您需要显式设置实例属性(title1,title2,title3)和关联的数组元素(array [0],array [1],array [2])以实现您想要的效果。或者,您可以完全删除实例属性(title0,title1,title2),只需使用该数组来存储您的值。类似的东西:
public class test extends Sprite
{
protected var _titleArray:Array = [];
protected function onDataLoad(evt:Event):void{
for(i=0; i<=evt.target.data.count; i++){
// set the title values
_titleArray[i] = evt.target.data["title"+i];
}
}
protected function function0(e:Event):void {
trace("My title is: " + _titleArray[0]);
}
}