我觉得这很奇怪,我没有找到任何东西......这意味着答案非常简单,但我没有得到它或者它是别的东西。
我正在使用haxe和openFL,而且练习是关于不使用任何其他框架的具体内容。我正在构建一个Atari突破克隆。我正在尝试处理块和球之间的碰撞事件。所有块都存储在正在迭代的数组map[]
中。
if ( (ball.x > (map[i].x) && ball.x < (map[i].x+20)) && (ball.y > (map[i].y) && ball.y < (map[i].y+20)) ) {
this.removeChild(map[i]);
ballMovement.y *= -1;
}
球半径为10px,每个块为20x20。 (另外,是的,球会笨拙反弹,但我没有时间做出一个像样的弹跳功能,所以现在必须这样做)
我有一些意想不到的行为。是的,块现在消失了,但有时似乎球从隐形块上反弹。问题是,我是否正确删除了这些元素?碰撞检测未正确设置吗?
答案 0 :(得分:2)
也许您应该从地图中删除您的块(map [i]),因为您似乎检查了与地图元素的碰撞,而不是显示元素。