我一直在到处寻找这个,但没有运气。
如何为更大的 4 英寸 iPhone 5 显示屏准备基于 cocos2d 的游戏?我的应用程序正在运行,但我想为更大的 4 英寸显示屏增强它。Cocos2d 为视网膜显示图像使用自己的后缀。对于 iPhone 4 和 4S 的视网膜显示,它是image-hd.png
. iPhone 5 有后缀吗?我该如何做到这一点?
干杯。
我一直在到处寻找这个,但没有运气。
如何为更大的 4 英寸 iPhone 5 显示屏准备基于 cocos2d 的游戏?我的应用程序正在运行,但我想为更大的 4 英寸显示屏增强它。Cocos2d 为视网膜显示图像使用自己的后缀。对于 iPhone 4 和 4S 的视网膜显示,它是image-hd.png
. iPhone 5 有后缀吗?我该如何做到这一点?
干杯。
iPhone 5 没有额外的文件后缀,毕竟它只有 176 像素(88 点)宽。它被视为普通的 Retina 手机,因此 cocos2d 将加载 -hd 文件。
其余的只是根据设备定位图像。最简单的方法是将两边的 44 个点视为“死区”,在该“死区”中不会发生用户输入,也无法保证用户可以看到游戏对象。
更新: cocos2d 2.1 添加了 -widehd 后缀。据说 2.1 最终版本会将后缀重命名为 -iphone5hd。
鉴于未来的屏幕尺寸,我个人会设置并使用 -568hd 后缀,因为 iPhone 5 以外的其他手机可能具有相同的分辨率。至少可以说,以特定的 iPhone 型号命名后缀有点短视。
将其添加到 AppDelegate:
[CCFileUtils setiPadRetinaDisplaySuffix:@"your suffix"];
[CCFileUtils setiPadSuffix:@"your suffix"];
[CCFileUtils setiPhoneFourInchDisplaySuffix:@"your suffix"];
[CCFileUtils setiPhoneRetinaDisplaySuffix:@"your suffix"];
不知道为什么每个人都说没有。
iPhone5/iPod Touch 5th 的后缀是 -568h(因此 4 英寸视网膜显示)。
总名单:
使用您选择的后缀将此添加到 AppDelegate:
if((UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) && ([[UIScreen mainScreen] bounds].size.height == 568)) {
[sharedFileUtils setiPhoneRetinaDisplaySuffix: @"-your suffix"];
}
我花了一段时间才弄清楚这一点,因为我是 cocos2d 的新手。所以我认为回顾一下可能对像我这样的人有帮助。在 cocos2d 2.1 中,您所要做的就是为目标屏幕尺寸创建图形并遵循 cocos 后缀命名约定。注意 cocos 的后缀约定和 iOS 的不一样。
就我而言,我有一个占据全屏的背景图像。所以,我做了...
并使用以下代码将图像加载到 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 版本发布说明中了解更多信息
我就是这样做的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"];
这已经足够了!
您是否按照以下帖子为它添加了默认图像,名为 Default-568h@2x.png,分辨率为 1136x640?
如果它不起作用,我在 cocos2d 论坛上找到了这个帖子,其中包含很多信息:
iPhone 5 1136 x 640 屏幕分辨率: http: //www.cocos2d-iphone.org/forum/topic/39491
现在 cocos2d 也支持 iPhone 宽屏了。
-wide.png for iphone 5
-widehd.png for iPhone 5 HD
我只是在 Cocos2D 2.1-rc1 中玩弄后缀,并且能够让它自动加载带有“-iphone5hd”后缀的 iPhone5 文件,而不是在代码的 sharedFileUtil 部分中更改 AppDelegate 中的任何内容。希望也有帮助。