为什么会这样?
当两个物体相互接触时,我放了痕迹,它们向我显示了许多信息:
private function onEnterFrame(e:Event):void{
e.target.x += 4;
var moved = false
if(!moved)
{
for(var i = 0; i < arrows.length; i++)
{
if(e.target.hitTestObject(arrows[i]))
{
trace('boom');
moved = true;
break;
}
}
}
所以在这里它写了“繁荣”这个词多次而不是一次,如何解决这个问题?
答案 0 :(得分:0)
您正在检查每一帧的命中测试,因此每次它都会为您提供命中测试的值。我认为你的问题是你在循环中定义你的布尔变量“移动”并且它失去了它的目的,因为当它进入循环时它总是错误的。尝试在函数外部定义布尔变量。这将有助于解决问题:)