碰撞处理程序无法正确检测libgdx java

时间:2015-10-24 01:09:17

标签: java libgdx

我正在使用2d布尔数组来检测碰撞。对于我的玩家碰撞,碰撞检测可以完美地工作,但是当Spell对象碰撞检测检查它总是检测到真时。我的球员站在他的下方,一切都是真的,但在上面是假的。就像Terraria一样,你下面的一切都是真的。然而,当我的法术在空中时,他们正在检测到真实。以下是检测地面碰撞的代码,它会检查spellList网格位置中的咒语在哪里以及是否为真。

    public void update(){
    this.spellList = player.getSpells();
    for(int i = 0; i < spellList.size(); i++){
        if(grid.getGrid()[(int) spellList.get(i).getGridPosition().x]
                [(int) spellList.get(i).getGridPosition().y]){
            spellList.get(i).react();
            System.out.println("true");
        }else
            System.exit(0);
    }

这看起来很简单但是在下面的图像中,该拼写返回true并且System.exit(0);永远不会被调用。你可以知道什么是真的,因为有一个白框勾勒出来。 Examplle Image

我不确定为什么当网格位置不是真的时会调用法术反应方法

0 个答案:

没有答案