仅限循环返回数组中的最后一项:(

0 flash actionscript-2

我是一个动作新手所以我希望我在这里缺少一些简单的东西.简而言之,我有一个for循环更新动态文本元素,但似乎迭代速度太快,只有循环中的最后一项更新文本.我希望动态文本元素用循环中的EACH项更新,而不仅仅是最后一项.

我有一个单帧电影,我从外部文本文件创建一个简单的字符串数组:

_global.i = 0;
_global.numplaces = 0;
_global.PlacesArray = new Array();

loadedText = new LoadVars();
loadedText.onLoad = function() {
    filecontents = this.places;
    _global.PlacesArray = filecontents.split(";"); //parse the file string
    _global.numplaces = _global.PlacesArray.length-1;
    };
loadedText.load("listofplaces.txt");
Run Code Online (Sandbox Code Playgroud)

在嵌套电影("places")中,我有一个for循环:

for (_global.i=0; _global.i<_global.numplaces; _global.i++) {
    trace("global i is "+_global.i);
    trace(_global.PlacesArray[_global.i]);
    CityState.place.htmlText = _global.PlacesArray[_global.i];
}
Run Code Online (Sandbox Code Playgroud)

跟踪工作正常,并显示for循环正在迭代.但是,place.htmlText电影中的动态文本嵌套了一个级别(用于补间目的),我希望循环更新只是使用数组中的最后一项进行更新.

Jay*_*y S 6

我不是一个动作脚本编码器,但基于上面的for循环,看起来你总是分配给htmlText属性,而不是附加到它:

CityState.place.htmlText = _global.PlacesArray[_global.i];
Run Code Online (Sandbox Code Playgroud)

我不确定as2是否支持+ =运算符,但附加值可能会解决这个问题.