【发布时间】:2014-06-17 02:25:43
【问题描述】:
我正在尝试让碰撞检测正常工作,但是当我这样做时,碰撞区域一直在移动。不管我怎么尝试。 有 2 个物体,物体在移动,我无法让碰撞区域跟随敌人/物体。
我正在使用下面的方法来查看碰撞是否会起作用并且它没有正确跟随敌人。
enemy class extends sprite {
以上是我如何使用 sprite 扩展的示例。
对象/敌人是来自 libgdx 的精灵,该类由精灵扩展。
shapeRenderer.begin(ShapeType.Filled);
shapeRenderer.setColor(Color.RED);
shapeRenderer.rect(rect1.getX() + (rect1.getWidth() / 2), rect1.getY() + (rect1.getHeight() / 2) - 2, rect1.getOriginX() - 1, rect1.getOriginY() - 4, 1.0f, 1.0f, rect1.getRotation());
shapeRenderer.rect(rect2.getX() - 10, rect2.getY() - 10, rect2.getWidth() - 10, rect2.getHeight() - 10, rect2.getOriginX(), rect2.getOriginY(), rect2.getRotation());
shapeRenderer.end();
这是在敌人类碰撞检查中
rect.set(getX() + (getWidth() / 2), getY() + (getHeight() / 2) - 2, getOriginX() - 1, getOriginY() - 4);
这是看敌人是否在碰撞
public boolean collides(Ball ball) {
if (getX() < ball.getX()) {
return (Intersector.overlaps(ball.getRect1(), rect));
}
return false;
}
任何帮助都会非常好。 谢谢
【问题讨论】:
标签: java android libgdx collision