碰撞检测似乎不起作用

时间:2018-08-27 15:59:15

标签: java collision-detection netbeans-8 side-scroller

我目前正在做一个学校项目,正在创建侧面滚动游戏。我正处在需要碰撞检测的阶段。我希望我的角色精灵与邪恶角色精灵相交时将其可见性设置为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;
            }
        }
    }

(为简化编码而道歉,我们不会在学校中过多地讨论复杂或高效的编码...)

0 个答案:

没有答案