好的,所以让我说我的“球”MovieClip与“墙”MovieClip相撞。
if ( !ball.hitTestObject(wall) ) {
// If they didn't find any obstacle keep falling.
ball.y++;
}
然后我拆除了墙壁,球不停地碰到我看不见的墙壁。没有球移动,不是那里的球,也不是新球。
case Keyboard.K: removeChild(wall); break;
我错过了什么或做错了什么? 提前谢谢。
答案 0 :(得分:1)
removeChild
仅从显示列表中删除实例,显示列表实际上与游戏逻辑无关...你必须用布尔值禁用你的movieclip(如果你以后想要使用它那么你可以启用它)或null引用,但要小心你的引用,因为如果你尝试在归零后访问它,你会收到一个错误,所以你可能想检查一下,如果你的墙是否为null,在检查你的碰撞之前
if(wall!=null){
if ( !ball.hitTestObject(wall) ) {
// If they didn't find any obstacle keep falling.
ball.y++;
}
}
...
case Keyboard.K:
removeChild(wall);
wall = null;
break;