我正尝试用2D图形创建一个相对简单的游戏,它具有一些复杂的动画。我试图用基本的Core Graphics和Core Animation库开发游戏,但游戏对象的动画表现并不令人满意(即生涩/延迟)。支持iPhone 4的Cocos2d-iphone高分辨率
所以,我现在正在考虑Cocos2D,它看起来非常有希望,直到我检查了iPhone 4的高分辨率支持。这似乎并没有很好地工作,但是,我刚刚开始看看它。
的一件事文件似乎说的问题就那么简单地使用CCDirector设置比例因子,它可以像这样做:
if([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {
[[CCDirector sharedDirector] setContentScaleFactor: [[UIScreen mainScreen] scale] ];
}
然而,这并没有给行为我预计。它只是使用的像素数量的两倍,这意味着我必须在所有代码中考虑“双像素因子”。
在Core Graphics/Animation库中,我们使用的坐标空间不会改变。在窗帘后面,只需将所有内容翻倍即可充满iPhone 4高分辨率屏幕,并在可用的情况下使用@ 2x图像。这实际上效果很好,游戏逻辑不需要考虑设备的分辨率。 Cocos2D似乎已经实现了这一点非常糟糕,使我不想登上Cocos2D火车。
我发现了一些关于该主题的其他主题,但没有涉及解决方法的真正答案。这是否被修复?我做错了,还是Cocos2D根本就不高准备? Cocos2D有什么替代品可以给我我需要的吗?
嗨,谢谢你的回答。你的自我推销是值得赞赏的,因为你们都回答了我的问题,并且解释得更简单。的确,Cocos使用UIKit使用点的像素,这是我遇到的问题。您所描述的解决方案非常简单,因为它很有效。事实上,这样的解决方案是必需的,这让我说Cocos并不是真正的高分辨率,因为它没有实现像UIKit这样的点坐标空间。希望这将很快由Cocos2D实施。非的少;你已经回答我的问题,并因此获得奖励:) – 2010-07-22 13:09:25
我很高兴我能帮助你!我也认为cocos2d应该逐渐采用点而不是像素的概念,尽管我认为这将是一个相当大的变化,因为框架中的每个类都很可能不得不被触及。所以不要指望任何魔法太快:) – Benjamin 2010-07-22 13:12:55