2010-10-01 62 views
4

我目前有一个完全基于Cocos2D和Chipmunk构建的iPad应用程序。我想现在将我的应用移植到iPhone上。Cocos2d从iPad到iPhone

我能找到的所有提示都是关于如何为iPad重新构建应用程序。 有没有简单的解决方案,比如说,缩小你的cocos2D场景?

有没有人有这方面的一些最佳实践提示?

回答

0

Sheesh ...这不是一个真正的“答案” - 但我会说我必须进行一次这种类型的转换 - 而且帮助我的一件事是发现可以将“XIB”文件从“更改”为通过编辑XML来回“iPhone”到“iPad”。我认为这是改变的问题:

archive type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB"

<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB"

(但我不记得确切)。

2

好,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]; 

希望这有助于。