Я сделал простую игру для андроида, в которой игроку нужно уклоняться от черных прямоугольников и перемещать пришельца между ними.Пример:
Я реализовал очень простое обнаружение столкновений, которое в основном состоит только из одной строки кода:
public boolean playerCollide( RectPlayer player ) {
return Rect.intersects(rectangle, player.getRectangle())
|| Rect.intersects(rectangle2, player.getRectangle());
}
Для пояснения, игрок представляет собой растровое изображение, нарисованное напрямоугольник, и каждое препятствие (строка) состоит из двух черных прямоугольников.
Этот метод обнаружения столкновений относительно дешев и прост, но он имеет проблему:
Как видите, поскольку игрок представляет собой прямоугольник, игра также обнаруживает столкновение, когда прозрачные пиксели изображения сталкиваются с препятствием.
У меня вопрос, как я могу улучшить свое столкновение?обнаружение таким образом, что оно обнаруживает столкновение только тогда, когда непрозрачные пиксели игрока сталкиваются с препятствием?