0

我将 JSTileMap 和 LFCGzipUtility 复制到项目中,当我运行应用程序时,它会为这两个文件生成多个警告。

但是,当我从 github 运行提供的示例时,我看不到任何这些警告。

我想知道为什么会有区别,以防万一,我做错了什么?

参考请访问,https://github.com/slycrel/JSTileMap

澄清一下,我想知道我是否应该在项目设置中更改任何内容,而不是调试运行良好且在上面链接中提供的示例上没有任何警告的代码。

4

1 回答 1

1

如果您在 iOS 模拟器 64 位模式下运行您的应用程序,那么问题是 JSTileMap 的文件没有更新到 64 位架构

苹果文件说


需要仔细检查依赖于 NSInteger 和 CGFloat 类型的代码。

首先为 64 位运行时构建应用程序,修复出现的任何警告,并在代码中搜索特定的 64 位问题。例如:

确保所有函数调用都有正确的原型。避免意外将 64 位值分配给 32 位数据类型而截断它们。确保在您的应用程序的 64 位版本中正确执行计算。创建在 32 位和 64 位版本的应用程序中布局相同的数据结构(例如当您将数据文件写入 iCloud 时)。


这是 Apple 到 64 位的过渡指南:

https://developer.apple.com/library/ios/documentation/General/Conceptual/CocoaTouch64BitGuide/Introduction/Introduction.html

如果不是你的情况,打开文件 JSTileMap.m,在里面按 command + f 输入警告并按回车

您会发现 JSTileMap 希望您看到的所有警告,只需评论所有警告即可

在这里,我向您展示所有警告

#warning these appear to be incorrect for iso maps when used for tile objects!  Unsure why the math is different between objects and regular tiles.

#warning This needs to be optimized into tilemap layers like our regular layers above for performance reasons.

#warning the positioning is off here, seems to be bottom-left instead of top-left.

#warning need to write setTileGidAt:

祝你好运!!

于 2014-03-04T22:31:12.573 回答