我在 Swift 中有一个 SpriteKit 游戏。它在横向模式下无限滚动,每隔一段时间就会在场景的 update()
函数中产生障碍物和敌人。
我也在这里更新分数值。问题出在 iPhone X 中,因为长度不同,它完全搞砸了游戏并使其无法玩。事情产生得太快,分数更新缓慢。
最重要的是,模拟器运行游戏的方式似乎与实际设备不同,它在模拟器 iPhone X 上运行良好。但是,当我在我的 friend iPhone X 上查看它时,这是不可能的,所以我什至都没有确定我所做的更改是否会有所作为!
请帮忙!
最佳答案
允许不同的纵横比、分辨率、单位和距离(努力为所有人创造一致的游戏体验)是一个困难的问题。
绝对确定的唯一方法是在一致的任意物理空间中工作,并通过不关心设备屏幕/分辨率/纵横比的抽象相机解决分辨率和纵横比。
即便如此,您也需要以帧渲染时间(设备之间)的差异不会在不同设备之间造成任何特殊差异的方式对物理进行优先级排序。
但是,即便如此,这也不是绝对完美的。就在附近。
并且永远忽略模拟器。它只适用于测试事物的位置,而不是它们的行为方式,甚至它们的外观。
关于ios - SpriteKit 中的更新功能与 iPhone X 不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49397894/