我有一个带有movieclips(r1,r2等)的数组,并且必须隐藏动画片段,直到有一个hitestobject,所以我最初有这个代码
var replace:Array = [r1,r2,r3,r4,r5,r6,r7,r8]
var len:int = replace.length;
for( var o:int = 0; o < len; o++ )
this.removeChild( replace[o] );
replace.length = 0;
每次我有一个hittestoblect时,我想在舞台上添加该数组的每个元素。我的代码有问题,因为在舞台上只添加了r1,我不知道如何修复它。你能帮我吗?
function releaseToDrop(e:MouseEvent):void
{
Star(e.target).stopDrag();
if (Star(e.target).hitTestObject(target))
{
removeChild(Star(e.target));
for(var o:uint = 0;o<7;o++){
var replace:Array = [r1,r2,r3,r4,r5,r6,r7,r8]
addChild(replace[0])
}
}
答案 0 :(得分:1)
这一行:
addChild(replace[0]);
始终添加第一个子节点,添加特定对象,用您拥有的任何索引替换0。如果你想逐个添加它们,就像每次击中时一个接一个地添加它们,你应该在函数之外有一个计数器,每当有一个命中时它会增加
var counter:int = 0;
function releaseToDrop(e:MouseEvent):void
{
Star(e.target).stopDrag();
if (Star(e.target).hitTestObject(target))
{
removeChild(Star(e.target));
var replace:Array = [r1,r2,r3,r4,r5,r6,r7,r8]
addChild(replace[counter]);
counter = counter+1;
}
}