Flash AS3:对多个movieclips使用for/do循环会引发隐式强制错误
我经常运行下面的函数来检查玩家控制的球mcBall和许多墙之间的碰撞,这些墙被恰当地命名为mcWall1、mcWall2等:var numberofwalls在每个不同的帧中都有自己的值,其中有不同数量的movieclipsFlash AS3:对多个movieclips使用for/do循环会引发隐式强制错误,flash,actionscript-3,implicit,hittest,coercion,Flash,Actionscript 3,Implicit,Hittest,Coercion,我经常运行下面的函数来检查玩家控制的球mcBall和许多墙之间的碰撞,这些墙被恰当地命名为mcWall1、mcWall2等:var numberofwalls在每个不同的帧中都有自己的值,其中有不同数量的movieclips function checkcollision(evt:Event) : void { for(var i = 1; i <= numberofwalls; i++){ if (mcBall.hitTestObject("mcW
function checkcollision(evt:Event) : void {
for(var i = 1; i <= numberofwalls; i++){
if (mcBall.hitTestObject("mcWall"+i) == true){
killball()
}
}
}
}
我的理解是,它试图添加一个字符串和一个int,但我不明白为什么它不将整数添加到字符串的末尾,例如:mcWall1,其中I=1
我不能使用mcWall[I],因为我没有设置阵列,并且认为我将使用的墙数量没有必要。。每个墙在舞台上静态地给出一个实例名,而不是在我的代码中
有没有关于我如何为mcWalli做测试的建议
提前干杯。编译器说的是真的。HitesObject函数获取DisplayObject作为参数,但您传递的是字符串mcWall+i。尝试:
惊人,快速和准确。马上解决了我的问题。谢谢您:
if (mcBall.hitTestObject("mcWall"+i) == true){
if (mcBall.hitTestObject(this.getChildByName("mcWall"+i)) == true){
killBall();
}