我很高兴我的新游戏即将完成并即将发布。但是在整个开发过程中,我跳过了一个重要的部分,让它在所有屏幕上都可以工作。一直以来我只在我的 iPhone 4 上进行测试,现在如果我在其他设备上运行它,游戏的玩法就会大不相同。
现在,让游戏在所有设备上运行完全相同的最简单方法是什么?我愿意不得不更改很多代码。
//编辑
我找到了这个,我可以做到……但剩下的问题是位置代表不同设备型号的屏幕的不同区域。例如,与 ipod 相比,与屏幕尺寸相比,iPad 上的任何位置都将在左侧更低和更远。这打破了我的游戏。
我很高兴我的新游戏即将完成并即将发布。但是在整个开发过程中,我跳过了一个重要的部分,让它在所有屏幕上都可以工作。一直以来我只在我的 iPhone 4 上进行测试,现在如果我在其他设备上运行它,游戏的玩法就会大不相同。
现在,让游戏在所有设备上运行完全相同的最简单方法是什么?我愿意不得不更改很多代码。
//编辑
我找到了这个,我可以做到……但剩下的问题是位置代表不同设备型号的屏幕的不同区域。例如,与 ipod 相比,与屏幕尺寸相比,iPad 上的任何位置都将在左侧更低和更远。这打破了我的游戏。
如果您谈论的是所有 iphone 设备,那么它们都具有相同的结果,因此您无需担心。唯一不同的是绘制 2d/3d 事物的硬件 open GL 已逐个设备更新。不是决议。希望对你有帮助!!!
如果您担心的是性能,那么您将需要进行一些优化。
对于位置,而不是对它们进行硬编码,而是使用
CGSize winsize = [[CCDirector sharedDirector] screenSize];
例如:硬编码(iPhone):CGPoint screencenter = ccp(240, 160); //DON'T use this!
EX:独立于设备:CGPoint screencenter = ccp(winsize.width/2, winsize.height/2); //Use this!
这将获得任何设备上的屏幕中心。
您显然可以使用 win size 变量来正确定位任何东西。