0

我正在为我正在开发的 RTS 游戏实现多人游戏。我有一个 GameObject 类,每个项目(建筑物、单位、树木等)都可以扩展。这个 GameObject 类包含有关项目的所有信息(名称、健康、位置、纹理等)。一个ArrayList<GameObject> gameObjects存储所有项目。

然后我有一个ArrayList<GameObject> selector包含用户当前选择的项目。假设用户点击了一个坦克,那么这个坦克将被存储在selector. 如果他然后右键单击某个地方,他会告诉坦克去鼠标的坐标。而且我还需要通过将选择器 ArrayList 和鼠标坐标发送到服务器来告诉所有其他玩家,以便服务器可以将其传递给其他客户端。

现在来解决问题。发送选择器意味着发送大量不必要的数据(例如纹理),因为 GameObject 类包含此信息。而且我还必须为 GameObject 使用的每个类实现可序列化。所以我的问题是,如果我能以某种方式拥有一个仅存储某种指向实际游戏对象 ArrayList 的指针的 ArrayList。这样当用户选择坦克时,我将指向坦克的指针存储在 ArrayList 游戏对象中。

我意识到这可能有点令人困惑。希望你能理解。

4

0 回答 0