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