【发布时间】:2013-10-25 19:31:29
【问题描述】:
我正在开发一款游戏,我想我会添加一个多人游戏选项。这是一个实时游戏,比如贪吃蛇之类的,所以我更新精灵位置非常快:
while (isRunning) {
...
if (sprite instanceof PlayerSprite) {
PlayerSprite player = ((PlayerSprite) sprite);
collisionManager.checkCollision(player, map, elapsedTime, currTime);
updatePosition(player, elapsedTime);
player.animeUpdate(elapsedTime);
}
...
}
我首先尝试使用 RMI:我将每个位置存储在一个对象中,并将其设置为远程。所以服务器和客户端都可以更新它。但正如我所说,它需要实时更新。 RMI 看起来并不能解决这个问题。但我真的是初学者,所以我不确定。
所以我的问题是:RMI 或简单 IO(套接字)将是实时游戏的最佳解决方案吗?
如果套接字更好:我可以通过 ObjectOutput/ObjectInput 将位置存储对象发送到客户端,更新对象(并绘制到屏幕上),然后将更新的对象发送回服务器,等等?
提前致谢:)
【问题讨论】:
标签: java sockets rmi game-engine