【发布时间】:2016-05-09 15:30:45
【问题描述】:
我正在为 android 开发游戏,我想知道多人网络将如何工作。我不需要细节(例如......如何来回发送数据)。例如,我很好奇,在我的游戏中,我在背景中有一个太阳(精灵),我以编程方式在天空中移动。在多人游戏中,我会在两台机器上计算吗?或者只是1,然后将太阳位置发送到另一个?另外,是否会在我的代码中使用一堆 if 语句来查看当前游戏是否为多人游戏,如果是,则执行此操作,否则执行此操作?或者我会有单独的课程,单人游戏1个,多人游戏另一个?提前致谢!
【问题讨论】:
-
一般来说,您不会将屏幕的实际状态发送到另一个屏幕。引擎存在于两者上,因此所有更新等都在那里处理。您应该在设备之间发送的唯一内容是坐标(如果它们已更改)以及诸如分数之类的可变数据......
-
@durbnpoisn 但是,例如,如果玩家在不同的时间开始玩并加入同一个游戏,那么两个设备上的太阳位置不会不同吗?与我正在进行的所有其他动态一样?
-
也许吧。但是你为什么要告诉其他玩家呢?只有一名玩家在他们的屏幕上看到什么才重要。这就是为什么本地视图仍然是本地视图。