我目前有一个完全基于Cocos2D和Chipmunk构建的iPad应用程序。我想现在将我的应用移植到iPhone上。Cocos2d从iPad到iPhone
我能找到的所有提示都是关于如何为iPad重新构建应用程序。 有没有简单的解决方案,比如说,缩小你的cocos2D场景?
有没有人有这方面的一些最佳实践提示?
我目前有一个完全基于Cocos2D和Chipmunk构建的iPad应用程序。我想现在将我的应用移植到iPhone上。Cocos2d从iPad到iPhone
我能找到的所有提示都是关于如何为iPad重新构建应用程序。 有没有简单的解决方案,比如说,缩小你的cocos2D场景?
有没有人有这方面的一些最佳实践提示?
Sheesh ...这不是一个真正的“答案” - 但我会说我必须进行一次这种类型的转换 - 而且帮助我的一件事是发现可以将“XIB”文件从“更改”为通过编辑XML来回“iPhone”到“iPad”。我认为这是改变的问题:
archive type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB"
到
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB"
(但我不记得确切)。
好,CCNode确实有一个Scale属性,所以你应该能够做这样的事情:
if(![MyApp isIPad]){
[myScene Scale:iPadToiPhoneScale];
}
,但你不应该真正做到这样的东西(甚至不知道是否会工作)。
您应该在您的AppDelegate中检查您是在iPad还是iPhone上运行并加载正确的资源(例如,以前按比例缩小的精灵)。
然后,创建场景时,而不是在绝对定位定位您的CCNodes:
[back setPosition:ccp(160, 240)];
代替它们在相对定位:
[back setPosition:ccp(0.5*[MyApp deviceWidth], 0.5*[MyApp deviceHeight])];
其中MyApp的将有一大堆的静态助手说会返回设备功能。
更妙的是,为什么不喜欢:
CGPoint convertedPosition = [MyApp convertForDevice:ccp(160, 240)];
[back setPosition:convertedPosition];
希望这有助于。