访问另一帧as3中的数组元素

时间:2014-08-16 08:15:15

标签: arrays actionscript-3 flash movieclip addchild

我在第1帧中创建了一个数组,并用它动态创建了一个动画片段列表,我想在第3帧中创建相同的数组,如果某些内容为真或假,我想再创建一些动画片段。这可能吗?因为当我试图这样做时,我会收到这个错误: 1151:内部命名空间中的定义i存在冲突。

这是我在第1帧的代码:

stop(); 
import flash.display.MovieClip;
var p_x:uint = 90;
var p_y:uint = 108;
var my_list:String = "Games,Videos, Medias,Images,Photos,Personal Photos,Social                  Media,Private,Social,None,Names,Families";
var myListString:Array = my_list.split(",");
var myArray:Array=new Array ();
var listObject = 1;
for (var i:uint=0; i<12; i++)
{
    var myItemList:mrb=new mrb();
    myItemList.x = p_x;
    myItemList.y = p_y + 80;
    myItemList.y = (p_y + (listObject * 65));
    myArray.push(myItemList);
    myItemList.txt.text = i.toString();
    myItemList.txt.text = myListString[i].toString();
    myItemList.name = "item"+i; 
    addChild(myItemList) as MovieClip ;
    listObject++;
}

这是第3帧的代码:

    var tmpCurFrame:int = currentFrame;

    this.addEventListener(Event.ENTER_FRAME, handleUpdate)

        function handleUpdate(e:Event):void {
        if (tmpCurFrame != currentFrame) {
          this.removeEventListener(Event.ENTER_FRAME, handleUpdate);
                    return;
                }
               if (so.data.fav1 != undefined) 
    {
    if ( so.data.fav1 == "on") 
    {
    for (var i:int = 0; i < myListString.length;)
{    if (myListString[i].indexOf() > -1)
        {
    var myRectangle:mrb=new mrb();
            trace("found it at index: " + i);
            myRectangle.x = p_x;
            myRectangle.y = (p_y + (findobject * 50));
            trace('p_y+80 =' + (p_y+(findobject*80)) + 'p_x = ' + p_x );
            myArray.push(myRectangle);
            myRectangle.txt.text = myListString[i].toString();
            trace(my_array2[i].toString() );
            addChild(myRectangle);
          }
        }

      }      
    }
    else
    {
    fav_1.fav_on.visible=true;

       }

  }

1 个答案:

答案 0 :(得分:0)

此错误消息仅表示您使用两次相同的变量i。你只需要给他们不同的名字。