Ручное обнаружение столкновения ограничивающего прямоугольника в AS3 - PullRequest
1 голос
/ 07 октября 2011

Мне нужно сделать обнаружение столкновения ограничивающего прямоугольника вручную.Моя текущая реализация видит, как пули проходят мимо врагов.Мало того, иногда кажется, что они попали позже ..

Для объектов, которые я хочу испытать, у меня есть такие геттеры:

    public function get left():Number{
        return x - width / 2;
    }

(«Перекрестие» вцентр мувиклипа)

Когда я проверяю наличие столкновений, я использую это:

if(this.leftX >= Main.player.leftX && this.rightX <= Main.player.rightX && this.topX >= Main.player.topX && this.downX <= Main.player.downX){

Пуля имеет топор 4, ay 13, а игрок 20 на 20квадрат.

Есть ли лучшие способы сделать это, или я должен немного выдумать числа?

1 Ответ

1 голос
/ 07 октября 2011

Вы проверяете «этот квадрат находится внутри поля игрока», вы хотите проверить, находится ли какой-либо из углов внутри другого. Расстояние между центрами будет легче записывать и может работать так же для таких маленьких объектов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...