Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 如何将数组的每个元素添加到stage as3_Actionscript 3 - Fatal编程技术网

Actionscript 3 如何将数组的每个元素添加到stage as3

Actionscript 3 如何将数组的每个元素添加到stage as3,actionscript-3,Actionscript 3,我有一个带有movieclips(r1、r2等)的数组,t这些movieclips必须被隐藏,直到有一个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; v

我有一个带有movieclips(r1、r2等)的数组,t这些movieclips必须被隐藏,直到有一个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;
varreplace:Array=[r1、r2、r3、r4、r5、r6、r7、r8]
变量len:int=replace.length;
for(变量o:int=0;o
每次我有HittestObject时,我想在舞台上添加该数组的每个元素。我的代码有点问题,因为舞台上只添加了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])

 } 
函数releaseToDrop(e:MouseEvent):无效
{
Star(e.target).stopDrag();
if(星形(e.target).hitTestObject(目标))
{
removeChild(Star(e.target));
对于(var o:uint=0;o这一行:

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;
   } 
 }

我这样做了,但该数组中的所有项目都显示出来了。我希望它们一个接一个地显示出来,就像第一个hittestobject r1添加到舞台上,第二个hittestobject r2添加到舞台上一样。我明白了,如果我现在正确理解了问题,请查看我的编辑…是否要逐个添加它们(第一次命中,添加r1,第二次命中,添加r2)?好的,那么我的编辑应该可以,只要确保计数器在releaseToDrop函数之外。我尝试了这段代码,但它不起作用。数组的所有项都是在舞台上添加的。嗯?你记得删除for循环吗?请参阅我的另一个编辑。