2011-03-04 49 views
2

我正在开发使用cocos2d的游戏。它现在在iPhone上运行,并且还支持Retina显示。与视网膜我使用“-hd”后缀的图像。现在我希望我的应用程序能够使用这些图像在iPad上工作。我怎样才能做到这一点 ?从iPhone到iPad的cocos2D

PS:我没有真正的iPad,只能使用模拟器。在模拟器上运行良好后,我会在朋友的iPad上测试游戏。是否有可能使用模拟器高分辨率的图像,以及如何做到这一点?

我使用cocos2D上0.99.5

+0

简短的回答是肯定的,长的答案是它不像你所期望的那么简单。我不是专家,所以不会回答。如果您搜索cocos2d论坛,您可以找到您要查找的信息。 – 2011-03-04 18:47:42

+0

同意上面..你必须编辑cocos2d代码..我的意思是cocos2d引擎代码..就像它如何读取文件..并加载高清图像.. – xuanweng 2011-03-05 15:14:52

回答

3

内部CCFileUtils.m

方法名+内(的NSString *)getDoubleResolutionImage:(的NSString *)路径

如果编辑(CC_CONTENT_SCALE_FACTOR()== 2) 到如果(CC_CONTENT_SCALE_FACTOR()== 2 ||(UI_USER_INTERFACE_IDIOM()== UIUserInterfaceIdiomPad))

这将使应用程序在iPad上运行时加载-hd图像,记得要将您的应用程序目标设备系列更改为iPhone/iPad。

这将解决为ipad加载-hd问题。

但在加载-hd文件进行ipad解析之后,您还会注意到大部分图像位置应该是关闭对齐的,现在要么直接进入cocos2d文件夹来编辑CCNode,CCSprite,CClabel如何处理或者你在你的代码中检查它是否是ipad。

如果您使用的是CCSpriteBatchNote。这也会导致另一个问题,因为您将从-hd SpriteSheet中读取数据。所以你设置的裁剪纹理Rect也需要加倍。

另一种方法是根据winsize来定位所有东西。我没有尝试过这种方法。

+0

谢谢你的回答!我根据winSize来定位所有东西。 – Andrew 2011-03-07 08:18:56

0

我完全不明白的问题,但我会尽量回答。

您可以在技术上为iPad使用相同的图形,但它们看起来不太好。首先,它们都会模糊和像素化,另外两个iPad的屏幕宽高比与iPhone/iPod Touch不同。如果您为iPad版的游戏制作单独的图像,那么执行起来并不会很困难。如果你想这样做,我建议发布一个新问题。

+0

请仔细阅读该问题。它包含关于“-hd”图像的部分。 – Andrew 2011-03-05 20:56:56

+0

就像allthewayapps说的那样,-hd图像与iPad图像不一样。 -hd图像是960x640,而iPad的分辨率是1024x768。这意味着如果您想要填充屏幕 – Mikael 2011-03-05 23:43:04

+0

,那么这意味着必须涉及缩放比例。那么,您是说您创建了iPad图像,还是想要在iPad版本中使用iPhone图像? – tallen11 2011-03-06 00:44:04