我已使用;
将我的舞台中的特定MovieClip添加到数组中var ItemArray:Array = new Array();
function loadItems():Array //loads/returns items into an array
{
for(var i:int = 0; i<numChildren; i++) //loop number of children on stage
{
if(getChildAt(i).name.substr(0,4) == "item") //if child is an item
{
ItemArray[getChildAt(i).name.substr(5)] = getChildAt(i); //Add to Items:array as instance numbered
}
}
return ItemArray;
}
然后,当我点击一个按钮时,它会触发此功能:
function playNextItem():void
{
if(CurrentItem < ItemArray.length)
{
play.ItemArray[CurrentItem];
CurrentItem++;
}
}
播放数组的第一个moviclip并向计数器添加+1,以便下次按下按钮时它会播放数组中的下一个Movieclip。
但是我收到了这个错误:
/Users/nathanrichman/Desktop/Presso Idea/Presentation.as, Line 50, Column 7 1119: Access of possibly undefined property ItemArray through a reference with static type Function.
我环顾四周,似乎我正在创建所有错误的数组,它无法将其作为Movieclip读取。
如何将动画片段添加到数组并播放.array [number]?
答案 0 :(得分:0)
一方面,play()是一个movieClip method
,而不是相反!
正确的代码不是:
play.mc;
但:
mc.play();
另一方面,你可以这样做:
var ItemArray:Array = [];
for (var i:int = 0; i < numChildren; i++)
{
ItemArray[i] = MovieClip(getChildAt(i));
}
var CurrentItem:int = 0;
function playNextItem(e:MouseEvent):void
{
ItemArray[CurrentItem].play();
CurrentItem++;
}
addEventListener(MouseEvent.MOUSE_UP, playNextItem);