Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.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 在前台移动MC时出现问题_Actionscript 3 - Fatal编程技术网

Actionscript 3 在前台移动MC时出现问题

Actionscript 3 在前台移动MC时出现问题,actionscript-3,Actionscript 3,我有一个问题,设置一个不同的子索引的电影唇。代码如下: function processMusica():void { var loadStatus:int=0 var lastHeight:int=0 for (var m=0; m < myXML.BLADE[sup].child("brano").length(); m++) { var titolobrano:TextField=new TextField blad

我有一个问题,设置一个不同的子索引的电影唇。代码如下:

function processMusica():void
{

    var loadStatus:int=0
    var lastHeight:int=0

    for (var m=0; m < myXML.BLADE[sup].child("brano").length(); m++)
    {
       var titolobrano:TextField=new TextField  
       bladearray[sup].contenitore.addChild(titolobrano)
       titolobrano.text=myXML.BLADE[sup].brano[loadStatus].titolo

       lastHeight=titolobrano.height
       titolobrano.doubleClickEnabled=true
       titolobrano.addEventListener(MouseEvent.DOUBLE_CLICK, riproducibrano)
       loadStatus+=1   
    }

    if (isPlaying==false)
    {
       var riproduzioneDetails:MovieClip=new MovieClip
       riproduzioneDetails.name="riproduzioneDetails"
       var artista:TextField=new TextField
       artista.name="artista"
       bladearray[sup].contenitore.addChild(riproduzioneDetails)
       riproduzioneDetails.x=475
       riproduzioneDetails.addChild(artista)

    }
    setChildIndex(bladearray[sup].contenitore.riproduzioneDetails, bladearray[sup].contenitore.numChildren-1) //<------ PROBLEM HERE!

我想在前台移动riproduzioneDetails MC,但当我尝试启动应用程序时,它会给我以下错误:TypeError:error 2007:参数child必须为非null

我可以看到两个潜在问题,但很难说,因为所有变量都没有在代码中声明。您的测试条件可能有问题:

if (isPlaying==false)
{
  ...
}
如果isplay为true,则永远不会创建对象riproduzioneDetails,因此它当然将为null。在测试iPlay之前,必须在if条件之外创建对象

另一个潜在问题是使用BladeAray[sup].contenitore.riproduzioneDetails访问对象的方式。当您使用addChild方法存储对象时,逻辑上应该有一种getChild方法。比如说,

setChildIndex(bladearray[sup].contenitore.getChildByName("riproduzioneDetails"),bladearray[sup].contenitore.numChildren-1)

。。。可能更好。

好的,我删除了条件并按照您所说的那样编写setChildIndexBladerRay[sup].contenitore.getChildByNameriproduzioneDetails,Bladearay[sup].contenitore.numChildren-1,但现在它给了我错误ArgumentError:error 2025:提供的DisplayObject必须是调用者错误的子对象-请仔细阅读错误:-此处,您将setChildIndex应用于默认的this对象,但该对象没有riproduzioneDetails。您必须在contenitore上应用setChildIndex方法,因为拥有riproduzioneDetails的是contenitore。您必须检查,但我认为如果您编写bladearay[sup].contenitore.setChildIndexbladearray[sup].contenitore.getChildByNameriproduzioneDetails,‌​bladearray[sup].contenitore.numChildren-1应该更好。好的,写下你说的,然后。。。作品我认为setChildIndex前面不需要任何参数,它需要括号内的所有参数谢谢编辑:我刚刚发现我可以编写bladearray[sup].contenitore.setChildIndexriproduzioneDetails,bladearray[sup].contenitore.numChildren-1