Обнаружение столкновения не работает - PullRequest
0 голосов
/ 27 августа 2018

В настоящее время я работаю над школьным проектом, в котором я создаю игру с боковой прокруткой. Я нахожусь на этапе, когда мне требуется обнаружение столкновений. Мне бы хотелось, чтобы видимость спрайта моего персонажа была установлена ​​на 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;
            }
        }
    }

(Извиняюсь за упрощенное кодирование, мы не слишком много говорим о сложном или эффективном кодировании в школе ...)

...