我遇到了一些问题,试图使我的SpriteKit游戏在所有设备上兼容。我了解Image.xcassets的工作原理,以及如何在放置节点时引用电话框。缩放特定设备
例如,我的游戏在6,6+和iPad上看起来不错。不幸的是,它已经成为早期iPhone手机的主要屏幕。一个简单的办法,这将仅仅是引用该屏幕的顶部像这样:
node.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMaxY(self.frame) - 5)
这适用于所有的手机,但不是ipad公司
但是如果我引用的顶部这样的设备,那么在iPad上,上层节点距离屏幕太远,使得英雄无法与它们交互。
我的代码是为节点的定位书面只是通过使用其他节点的基础上的顶部的电流方式:
node.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMinY(self.frame) + node2.size.height + node3.size.height)
这适用于6个,6 +和ipad公司
我怎样才能让所有设备兼容?我知道我可以调整“2x”图像,以适应5和5秒,但是这会让游戏机制失效6(因为6和5系列由于某种原因共享“2倍”)。
有没有一种方法可以专门测试在某个设备上使用,然后在这种情况下运行某些代码?有没有解决方案?谢谢。
这看起来很有效,我试图用几种方法实现它。如果我没有弄错,三元运算符的功能与条件类似。如果是这样,为什么我不断要求申报声明?我对这种方法的确切语法实现略有困惑。谢谢,我对编程非常陌生。 @Larcerax – TerranceW
不知道你可能做错了什么或对的,但下一个最好的选择是尝试这一点,一秒。 – Loxx
重读我给你的答案,只是放下代码看它的工作 – Loxx