Обнаружение столкновения не работает
В настоящее время я работаю над школьным проектом, в котором я создаю игру с боковой прокруткой. Я нахожусь на этапе, когда мне требуется обнаружение столкновений. Мне бы хотелось, чтобы видимость спрайта моего персонажа была установлена на false, когда он пересекает спрайт злого персонажа.
Rectangle d = character.getCharRec();
for (EvilCharacter eChar1 : eChar) {
EvilCharacter m = (EvilCharacter) eChar1;
Rectangle wolfRec = m.getEvilCharRec();
if (d.intersects(wolfRec)) {
System.out.println("WASTED");
character.setAlive(false);
gameOver = true;
}
}
Приведенный выше код, к сожалению, не работает (когда символьный спрайт пересекает злой символьный спрайт, ничего не происходит), но, как ни странно, код ниже делает это (когда каменный спрайт пересекает злой символьный спрайт, видимость обоих спрайтов установлена в false). Если кто-то сможет оказать помощь, он будет очень признателен.
ArrayList rocks = character.getRocks();
for (Object rock : rocks) {
Rock t = (Rock) rock;
Rectangle t1 = t.getRockRec();
for (EvilCharacter eChar1 : eChar) {
EvilCharacter m = (EvilCharacter) eChar1;
Rectangle wolfRec = m.getEvilCharRec();
if (t1.intersects(wolfRec) && m.Living()) {
t.setVisible(false);
m.setDead(false);
score = score + 10;
}
}
}
(Извиняюсь за упрощенное кодирование, мы не слишком много говорим о сложном или эффективном кодировании в школе...)