cocos2d-iphone - Cocos2D : Could not add isometric tilemap for retina and non-retina

标签 cocos2d-iphone retina-display

我遇到了麻烦。 我正在使用带有 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/

相关文章:

javascript - 将非视网膜 Canvas 应用程序更新为视网膜显示

cocos2d-iphone - 访问其他层中的对象 (cocos2d)

iphone - 导航点期间出错

ios - cocos2d动画从后台返回时停止

ios - Xcode 摘要中的应用程序图标似乎很小

ios - UIView 不缩放到 iPad 视网膜

iOS。更新此项目中的 cocos2d 库后无法运行项目

objective-c - 从 Cocoa 中的 C 方法访问属性

automation - xdotool与山狮和Macbook视网膜

javascript - 带有 Jquery 的 fadeTo 在 Retina Macbook Pro 上的 Chrome 中不起作用