Cocos2D:无法为视网膜和非视网膜添加等距贴图

时间:2012-10-29 08:04:46

标签: cocos2d-iphone retina-display

我遇到了麻烦。 我正在使用带有UIKit的cocos2d。 Cocos2d版本是1.0.1。

我已将平铺地图添加到项目中,就像文档中建议的那样: http://www.cocos2d-iphone.org/wiki/doku.php/prog_guide:how_to_develop_retinadisplay_games_in_cocos2d#ccnode_details 我做了一切,启用了视网膜,创建了高清地图。

我稍后将一些精灵相对于平铺贴图定位,并使用平铺贴图坐标系来定位它们,因此我使用它的大小和平铺大小。

在非视网膜上,一切都正确定位并且工作正常,但在视网膜上一切都搞砸了。看起来平铺地图的平铺大小不是以点为单位,而是以像素为单位,因此每次完成的计算都会缩放两次,这很糟糕。我可以用CC_CONTENT_SCALE_FACTOR划分计算,但这需要大量的计算,而且据我所知,这就是cocos2d视网膜支持应该在幕后进行的。

有人知道我接下来应该做什么,或者可能有一些教程链接,其中为两个屏幕尺寸添加了等距平铺地图并且可以正常工作?

1 个答案:

答案 0 :(得分:0)

Cocos2D的tilemap实现并不完全与Retina兼容。正如您所注意到的,即使在今天的cocos2d 2.0中,某些坐标也以像素为单位。除了内容比例因素之外别无选择。

这不应该是任何性能问题。你的更大性能问题将是cocos2d无效的tilemap渲染器,即tilemap越大,性能越慢,因为cocos2d每次渲染所有的tile。