当前位置 : 主页 > 手机开发 > 其它 >

支持Cocos2d-iphone for iPhone 4 high res

来源:互联网 收集:自由互联 发布时间:2021-06-13
我正在尝试创建一个相对简单的2D图形游戏,它有一些复杂的动画.我尝试使用基本的Core Graphics和Core Animation库开发游戏,但游戏对象的动画性能不令人满意(即生涩/延迟). 所以,我现在正在
我正在尝试创建一个相对简单的2D图形游戏,它有一些复杂的动画.我尝试使用基本的Core Graphics和Core Animation库开发游戏,但游戏对象的动画性能不令人满意(即生涩/延迟).

所以,我现在正在研究看起来非常有前途的Cocos2D,直到我检查了iPhone 4的高分辨率支持.这似乎根本不能很好地工作,但是又一次,我刚开始研究它.

文档似乎就问题说了一件事,它只是使用CCDirector来设置比例因子,这可以这样做:

if( [[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {
    [[CCDirector sharedDirector] setContentScaleFactor: [[UIScreen mainScreen] scale] ];
}

但是,这并没有给出我期望的行为.它只是将要处理的像素数量加倍,这意味着我必须在所有代码中考虑“双像素因子”.

在核心图形/动画库中,我们使用的坐标空间不会改变.在窗帘后面,它只是将所有内容加倍,以填充iPhone 4高分辨率屏幕并使用可用的@ 2x图像.这实际上非常有效,游戏逻辑不需要考虑设备的分辨率. Cocos2D似乎已经实现了这个非常糟糕,让我不想登上Cocos2D列车.

我发现了一些关于这个主题的其他主题,但没有真正的答案没有涉及变通方法.这是固定的吗?我做错了还是Cocos2D根本没有准备好? Cocos2D有什么替代品可以满足我的需求吗?

抱歉无耻的自我推销,但我想它可以帮助你.我最近在cocos2d上写了两篇关于高分辨率的小博文,并将它们放在我们的网站上.

第一部分详细介绍了如何启动和运行cocos2d,包括如何实现常规vs高分辨率图像的自动加载行为的建议修复.

此外,还有第二篇文章试图详细介绍点和像素之间的差异. UIKit完全基于点,这就是为什么你不必重新设置所有坐标.与UIKit相比,cocos2d基于像素工作,因此与分辨率有关.你可以通过一些相当简单的转换为cocos2d提供处理点而不是像素的方法.我已经将它们作为CCDirector和CCNode的类别实现,以使它们易于使用.显然,这些类别中的方法并不是唯一应该“指出”的方法.例如,在CCLabel或CCMoveBy上的任何位置指定尺寸都是基于像素的,因此也必须重新加工……

看看博客:http://apptech.next-munich.com/(我会直接链接到文章,但作为新用户,我只能在答案中发布一个链接).

希望这会有所帮助并让您入门!

网友评论