我正在做一个学习java的小游戏。目前我创建了一个球体,一个播放器和一个游戏类(+运行的主类)。我想让球体知道,它是否与播放器碰撞。我尝试的第一件事是Get和Set,但问题是,我必须在Sphere类中创建一个Player-Object,以访问Players Position的Get方法。因为它是一个新的对象,它与我的游戏类中的对象不一样,所以它在移动时不会改变。
xwmevbvl1#
想想谁负责检查碰撞。这可能会让人困惑,但从逻辑上讲,你需要一个Game类,在那里你可以访问Player和Sphere对象。在那里你可以使用update方法(在循环中的某个时间帧内执行),在那里您可以检查两个对象碰撞时的位置。因此,这意味着位置必须保留在Player中的Player对象和Sphere中的Sphere对象中。
o75abkj42#
将对player对象的引用添加到sphere对象
class Main { public static void main(String[] args) { Player player = new Player(); Sphere sphere = new Sphere(); sphere.setPlayer(player); Game game = new Game(player, sphere); game.start(); } }
在球体对象内部,现在可以使用引用访问球员位置
2条答案
按热度按时间xwmevbvl1#
想想谁负责检查碰撞。这可能会让人困惑,但从逻辑上讲,你需要一个Game类,在那里你可以访问Player和Sphere对象。在那里你可以使用update方法(在循环中的某个时间帧内执行),在那里您可以检查两个对象碰撞时的位置。因此,这意味着位置必须保留在Player中的Player对象和Sphere中的Sphere对象中。
o75abkj42#
将对player对象的引用添加到sphere对象
在球体对象内部,现在可以使用引用访问球员位置