Обнаружение столкновения между прямоугольником и изображением в Java - PullRequest
0 голосов
/ 27 февраля 2019

Я сделал простую игру для андроида, в которой игроку нужно уклоняться от черных прямоугольников и перемещать пришельца между ними.Пример:
image

Я реализовал очень простое обнаружение столкновений, которое в основном состоит только из одной строки кода:

public boolean playerCollide( RectPlayer player ) {
    return Rect.intersects(rectangle, player.getRectangle()) 
        || Rect.intersects(rectangle2, player.getRectangle());
}

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

Этот метод обнаружения столкновений относительно дешев и прост, но он имеет проблему:

image image

Как видите, поскольку игрок представляет собой прямоугольник, игра также обнаруживает столкновение, когда прозрачные пиксели изображения сталкиваются с препятствием.

У меня вопрос, как я могу улучшить свое столкновение?обнаружение таким образом, что оно обнаруживает столкновение только тогда, когда непрозрачные пиксели игрока сталкиваются с препятствием?

...