Java lwjgl变量以某种方式被更改

时间:2018-03-27 15:52:05

标签: java arraylist lwjgl

public void newUnit(int type) {  //fix start locations

    switch(type) {
        case 1:{
            System.out.println(spawn);
            LightUnit lw = new LightUnit();
            lw.setLocation(spawn);

            units.add(lw);
            break;
        }
        case 2:{
            units.add(new MedUnit(spawn));
            break;
        }
        case 3:{
            units.add(new HeavyUnit(spawn));
            break;
        }
    }

}

我有这个switch语句,它创建一个从Baseunit派生的新单元,并将其存储在baseunit类型的数组列表(单元)中。当我第一次创建一个单位时,它会显示在它的spawn 0,0上。然而,一旦我移动单位,然后尝试创建另一个变量spawn已更新到第一个单位现在所在的位置。我不明白,因为没有再次调用该变量,而是一些如何更新它

public void move(BaseUnit e, Vector2f direction) {  
    e.move(direction);
    turnover = true;
}

玩家有这种移动方法,将单位和新图块的位置传递给基本单位并设置其新位置,但有些人在这里如何更改。不确定在哪里寻找bug,我已经排除了渲染问题,所以我的派生类可能有问题。

0 个答案:

没有答案