android - 在多人游戏中跨多个移动设备宽高比发送图像位置

标签 android mobile swift game-development

我正在开发一款基于多人网络的虚拟宠物游戏,其中玩家 1 可以选择游戏 Assets (图像)并将其放置在屏幕上的任何位置,缩放图像,旋转图像。一旦玩家在多人游戏实例上提交了他们的游戏状态,我希望另一个移动设备纵横比上的玩家 2 能够看到玩家 1 的虚拟宠物的游戏 Assets 位置完全相同,即使他们使用的是不同宽高比/分辨率的移动设备。

当玩家1提交他/她的游戏屏幕状态时,我想将玩家1的每个游戏 Assets 位置(X,Y,高度,宽度,角度)传递到玩家2的设备。我想要一些关于玩家 2 的移动设备如何渲染其 UI 游戏屏幕以呈现玩家 1 的游戏 Assets 位置的帮助引用。

希望在 Swift 和 Andriod 中对此进行引用。我不想使用任何游戏引擎。

最佳答案

实现此目的的一种方法是在所有设备上保持一致的场景大小。假设场景为 2000 x 2000,那么不同设备上唯一不同的是场景在任何给定时间可见的部分。由此,可以很容易地获取该场景中 Assets 的坐标,因为您没有使原点相对于设备,而是相对于场景的坐标。另一种方法是按百分比。执行此操作时,您可以输入 x = xOnScreen/totalScreenWidth 和 y = yOnScreen/totalScreenHeight 之类的内容。然后,当您使用不同的设备时,只需将该设备的总屏幕宽度乘以百分比即可获得屏幕上的缩放位置。第一种方法是保持纵横比的最佳方法。

关于android - 在多人游戏中跨多个移动设备宽高比发送图像位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27581165/

相关文章:

java - 可绘制背景 View - 什么类型的资源?

android - 向操作栏添加不确定的水平进度

Jquery Mobile 出现长选择多个选项和数据 native 菜单 ="false"的问题

swift - NSOpenPanel 的问题和大量内存泄漏

ios - 来自 imagePicker 的图像不会显示在我的 imageView 中

java - 存储具有低内存占用 + 快速查找的大型字典的方法(在 Android 上)

java - 如何将 OnClickListener 从 Activity 传递到 Fragment

jquery - 在触控设备上导航

java - 用于 Selenium 测试的 Chrome 移动模拟器 - 无法使用所有设备

ios - Google AdMob Podfile - 手动与自动版本更新?