绘制两个需要碰撞并具有不同行为的对象

时间:2011-07-30 17:49:59

标签: android opengl-es collision-detection behavior

我想创建一个场景,其中一个正方形在屏幕周围反弹,另一个停留在现场(可能会旋转)。在这种情况下,碰撞检测应该很容易,但是我应该将方块初始化为完全分开(在两个不同的类中),还是应该在draw方法中指定行为?

谢谢

1 个答案:

答案 0 :(得分:0)

两个正方形都是相同的,所以应该有一个Square类来制作正方形,然后最好创建一个CollisionDetection类。此类可用于测试相互重叠的方块(碰撞),它将返回true或false。

public static boolean SquareCollision(Rectangle r1, Rectangle r2) {
    if(r1.lowerLeft.x < r2.lowerLeft.x + r2.width &&
       r1.lowerLeft.x + r1.width > r2.lowerLeft.x &&
       r1.lowerLeft.y < r2.lowerLeft.y + r2.height &&
       r1.lowerLeft.y + r1.height > r2.lowerLeft.y)
        return true;
    else
        return false;
}