Я пытаюсь реализовать детектор столкновения между моим Player
(актером) и моим Obstacle
(также актером), и мне интересно, как лучше всего выполнить collision detection
между ними. Я вижу, что некоторые пользователи говорят, что они создают Rectangle object
в классе и обновляют его границы для каждого фрейма, но я не знаю, является ли это наилучшим способом выполнения этого (я также пытаюсь это сделать, но мой метод обнаружения столкновений срабатывает, прежде чем мой игрок коснется препятствия).Обнаружение столкновения между актерами
Это то, что я пытаюсь проверить:
public boolean touchedWall() {
// Loop for the obstacles
for (Obstacle obstacle : this.world.getObstacles()) {
// Check if player collided with the wall
if (this.bounds.overlaps(obstacle.getBounds())) {
Gdx.app.log(Configuration.TAG, "collided with " + obstacle.getName());
return true;
}
}
return false;
}
И это где метод Триггеры (он должен вызвать, когда границы игрока врезался в стену):
Каков тип «границ», на который ссылается «this.bounds.overlaps (препятствие.getBounds())»? – Fooble
В обоих актерах я сделал это: 'private Rectangle bounds'. Это вы хотели узнать? Я не знаю, почему это происходит, потому что я сделал разницу между X-позицией Rectangle и X-позицией границ актера, и результат был равен 0. – Jazzguy