如果您想检测两个矩形之间的碰撞,可以使用我与精灵一起使用的示例。
public class TestSpriteOne extends Sprite{
private Rectangle rectangle;
添加在构造函数.
rectangle = new Rectangle(getX(), getY(), getWidth(), getHeight());
In update Method
rectangle.setPosition(getX(), getY());
Is a new nethod
public Rectangle getColliderActor(){
return this.rectangle;
}
其他类
public class TestSpriteTwo extends Sprite{
private Rectangle rectangle;
In the 构造函数.
rectangle = new Rectangle(getX(), getY(), getWidth(), getHeight());
In update method
rectangle.setPosition(getX(), getY());
In new方法
public Rectangle getColliderActor(){
return this.rectangle;
}
// 在TestSpriteOne类中调用
boolean hasCollided = TestSpriteTwo.getColliderActor().overlaps(getColliderActor());
//调用GameScreen类
boolean hasCollided = TestSpriteOne.getColliderActor().overlaps(TestSpriteTwo.getColliderActor());
如果这个矩形与另一个矩形重叠,则它重叠,因此 hasCollided 变量将变为 true。
编辑:如果动画更改其宽度或高度,您可以调整矩形中的大小update method
rectangle.setSize (width, height);