我遇到了麻烦。 我正在使用带有 UIKit 的 cocos2d。 Cocos2d版本为1.0.1。
我已经按照文档中的建议将平铺 map 添加到项目中: http://www.cocos2d-iphone.org/wiki/doku.php/prog_guide:how_to_develop_retinadisplay_games_in_cocos2d#ccnode_details 我已经完成了所有操作,启用了 Retina,按照所说创建了高清 map 。
我稍后将一些 Sprite 相对于瓦片 map 定位,我使用瓦片 map 坐标系来定位它们,所以我使用它的大小和瓦片大小。
在非视网膜上一切都正确定位并且工作正常,但在视网膜上一切都搞砸了。看起来分块 map 的分块大小不是以点为单位而是以像素为单位,因此每次完成的计算都会缩放两次,这很糟糕。我可以用 CC_CONTENT_SCALE_FACTOR 划分计算,但这需要大量计算,据我所知,这就是 cocos2d retina 支持在幕后应该做的事情。
有人知道我下一步应该做什么吗,或者可能有一些教程链接,其中为两个屏幕尺寸添加了等距平铺 map 并且工作正常?
最佳答案
Cocos2D 的 tilemap 实现不完全兼容 Retina。正如您所注意到的,即使在今天的 cocos2d 2.0 中,一些坐标也是以像素为单位的。没别的办法,只能按内容比例因子来划分。
这应该不是任何性能问题。您更大的性能问题将是 cocos2d 无效的 tilemap 渲染器,即 tilemap 越大,性能越慢,因为 cocos2d 每次都会渲染所有图 block 。
关于cocos2d-iphone - Cocos2D : Could not add isometric tilemap for retina and non-retina,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13117874/