现在,我一直在寻找这个问题的答案,但谷歌和我所有的力量似乎都让我失望了。
我得到了这门课。(我的世界)。在 MyWorld 我有一个对象数组
GameUnit m_MyUnits[] = new GameUnit[maxUnits];
现在 m_MyUnits 充满了 GameUnits 和子类,它们像芝士蛋糕一样快乐地在屏幕上走来走去。我什至为它们中的每一个编写了自己的小碰撞检测,因此它们不会相互碰撞。
一切正常,但是!为了让我的碰撞检测起作用,我选择了最慢的方法(我认为需要最多的内存)
在 MyWorld 中,我首先循环遍历每个 GameUnit 并获取数组的 X 和 Y 位置 private int[][] Positions = new int[2][maxUnits]);
然后我循环遍历每个 GameUnit 并将这个数组分配给它。(GameUnit 有自己的名为 Positions 的数组)
现在,虽然这有效,但我不禁认为这很愚蠢,就像……。好吧,我不会在这里使用这些词。
有没有办法让 GameUnit 调用 MyWorld 中的位置,或者更好的是,让游戏单元调用 MyWorld 中的数组 m_MyUnits[].getX() 和 m_MyUnits[].getY() 类似这样的事情(我使用 Parent从 GameUnit 引用 MyWorld)
For(int i = 0;i < Parent.maxUnits;i++) {
int targetX = Parent. m_MyUnits[i].getX();
int targetY = Parent. m_MyUnits[i].getX();
//Do some thing like collition detection with the data.
}
这是可能的,还是?
你的JavaApprentis。