5

我一直在到处寻找这个,但没有运气。

如何为更大的 4 英寸 iPhone 5 显示屏准备基于 cocos2d 的游戏?我的应用程序正在运行,但我想为更大的 4 英寸显示屏增强它。Cocos2d 为视网膜显示图像使用自己的后缀。对于 iPhone 4 和 4S 的视网膜显示,它是image-hd.png. iPhone 5 有后缀吗?我该如何做到这一点?

干杯。

4

9 回答 9

12

iPhone 5 没有额外的文件后缀,毕竟它只有 176 像素(88 点)宽。它被视为普通的 Retina 手机,因此 cocos2d 将加载 -hd 文件。

其余的只是根据设备定位图像。最简单的方法是将两边的 44 个点视为“死区”,在该“死区”中不会发生用户输入,也无法保证用户可以看到游戏对象。

更新: cocos2d 2.1 添加了 -widehd 后缀。据说 2.1 最终版本会将后缀重命名为 -iphone5hd。

鉴于未来的屏幕尺寸,我个人会设置并使用 -568hd 后缀,因为 iPhone 5 以外的其他手机可能具有相同的分辨率。至少可以说,以特定的 iPhone 型号命名后缀有点短视。

于 2012-09-19T20:56:19.663 回答
8

将其添加到 AppDelegate:

[CCFileUtils setiPadRetinaDisplaySuffix:@"your suffix"];
[CCFileUtils setiPadSuffix:@"your suffix"];
[CCFileUtils setiPhoneFourInchDisplaySuffix:@"your suffix"];
[CCFileUtils setiPhoneRetinaDisplaySuffix:@"your suffix"];
于 2013-02-07T21:05:05.903 回答
7

不知道为什么每个人都说没有。

iPhone5/iPod Touch 5th 的后缀是 -568h(因此 4 英寸视网膜显示)。

总名单:

  • -hd (iPhone 4/4S, iPod Touch 4th)
  • -568h(iPhone 5、iPod Touch 5th)
  • -ipad (iPad 1st/2nd)
  • -ipadhd (iPad 3rd/4th)
于 2013-02-02T23:10:12.707 回答
7

使用您选择的后缀将此添加到 AppDelegate:

if((UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) && ([[UIScreen mainScreen] bounds].size.height == 568)) {
    [sharedFileUtils setiPhoneRetinaDisplaySuffix: @"-your suffix"];
}
于 2013-02-10T18:14:52.033 回答
2

我花了一段时间才弄清楚这一点,因为我是 cocos2d 的新手。所以我认为回顾一下可能对像我这样的人有帮助。在 cocos2d 2.1 中,您所要做的就是为目标屏幕尺寸创建图形并遵循 cocos 后缀命名约定。注意 cocos 的后缀约定和 iOS 的不一样。

就我而言,我有一个占据全屏的背景图像。所以,我做了...

  1. 用于 iPhone 的 480x320 的 background.png
  2. 用于 iPhone 视网膜 (3.5") 的 960x640 的 background-hd.png
  3. background-iphone5hd.png 用于 iPhone5 视网膜 (4")

并使用以下代码将图像加载到 CCSprite 中。Cocos 会为你确定使用哪个图像。

CCSprite *background = [CCSprite spriteWithFile:@"background.png"];
background.position = ccp(background.textureRect.size.width/2,
background.textureRect.size.height/2);
[self addChild:background];

对于像字符这样不占满屏的元素,cocos2d 会在 iPhone5 中自动拾取 character-hd.png。无需创建 character-iphone5hd.png 版本。

您可以在https://github.com/cocos2d/cocos2d-iphone/wiki/cocos2d-v2.1-release-notes的 2.1 版本发布说明中了解更多信息

于 2013-06-28T18:35:32.117 回答
2

我就是这样做的cocos2d v2.1-beta4

CCFileUtils.h我补充说:

- (void)setIphone5HDSuffix:(NSString *)suffix;

CCFileUtils.m

- (void)setIphone5HDSuffix:(NSString *)suffix
{
   [_suffixesDict setObject:suffix forKey:kCCFileUtilsiPhone5HD];
}

AppDelegate.m

[sharedFileUtils setIphone5HDSuffix:@"your_suffix"];

这已经足够了!

于 2013-07-08T10:48:41.360 回答
1

您是否按照以下帖子为它添加了默认图像,名为 Default-568h@2x.png,分辨率为 1136x640?

如何为 iPhone 5 屏幕分辨率开发或迁移应用程序?

如果它不起作用,我在 cocos2d 论坛上找到了这个帖子,其中包含很多信息:

iPhone 5 1136 x 640 屏幕分辨率: http: //www.cocos2d-iphone.org/forum/topic/39491

于 2012-09-19T20:05:39.030 回答
0

现在 cocos2d 也支持 iPhone 宽屏了。

 -wide.png for iphone 5
 -widehd.png for iPhone 5 HD
于 2013-04-12T17:08:04.453 回答
0

我只是在 Cocos2D 2.1-rc1 中玩弄后缀,并且能够让它自动加载带有“-iphone5hd”后缀的 iPhone5 文件,而不是在代码的 sharedFileUtil 部分中更改 AppDelegate 中的任何内容。希望也有帮助。

于 2013-04-13T08:16:18.067 回答