Рисование двух объектов, которые должны сталкиваться и иметь различное поведение - PullRequest
0 голосов
/ 30 июля 2011

Я хочу создать сцену, в которой один квадрат отскакивает от экрана и один остается на месте (возможно, вращаясь). В этом случае обнаружение столкновений должно быть легким, но следует ли инициализировать квадраты совершенно отдельно (в двух разных классах) или назначить поведение в методе рисования?

Спасибо

1 Ответ

0 голосов
/ 30 июля 2011

Итак, оба квадрата одинаковы, поэтому должен быть класс 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;
}
...