>我正在开发一款基于多人网络的虚拟宠物游戏,玩家1可以选择游戏资产(图像(并将它们放置在屏幕上的任何位置,缩放图像,旋转图像。一旦玩家在多人游戏实例上提交他们的游戏状态,我希望另一个移动纵横比的玩家 2 能够看到玩家 1 的虚拟宠物的游戏资产位置完全相同的位置,即使他们使用的是不同纵横比/分辨率的移动设备。
我想在玩家1提交游戏屏幕状态时,将玩家1的每个游戏资产位置(X,Y,高度,宽度,角度(传递给玩家2的设备。我想得到一些关于玩家 2 的移动设备如何呈现其 UI 游戏屏幕以呈现玩家 1 的游戏资产位置的帮助参考。
希望在 Swift & Andriod 中引用这一点。我不喜欢使用任何游戏引擎。
一种方法是在所有设备上保持一致的场景大小。假设场景是 2000 x 2000,那么在不同设备上唯一不同的是在任何给定时间可见的场景部分。由此,很容易在此场景中获取资产的坐标,因为您不是相对于设备的原点,而是相对于场景的坐标。另一种方法是按百分比。这样做,你说 x = xOnScreen/totalScreenWidth 和 y = yOnScreen/totalScreenHeight。然后,当您在不同的设备上时,只需将该设备totalScreenWidth乘以百分比即可获得屏幕上缩放的位置。第一种方法是保持纵横比的最佳方法。