0

我有一个 TMX 平铺地图,用于我正在制作的使用 cocos2d 的应用程序的背景。当我使用模拟器时,一切运行良好。但是,如果我使用该设备,一切都会出错。启动时,它以全屏的加载屏幕开始,但很快过渡到: 加载后的图像

然后是黑屏。然后它给了我控制台输出:

1970-01-02 10:57:56.-721 TankMazeNEW[729:707] cocos2d: surface size: 960x640
1970-01-02 10:57:56.-709 TankMazeNEW[729:707] cocos2d: CCTexture2D: Using RGB565texture since image has no alpha
1970-01-02 10:57:57.-645 TankMazeNEW[729:707] -[CCFileUtils fullPathFromRelativePath:resolutionType:] : cocos2d: Warning: File not found: /Users/vivaanbahl/Desktop/Iphone Apps/TankMazeNEW/TankMazeNEW/tanks.png
1970-01-02 10:57:57.-642 TankMazeNEW[729:707] cocos2d: CCTexture2D. Can't create Texture. cgImage is nil
1970-01-02 10:57:57.-638 TankMazeNEW[729:707] cocos2d: Couldn't add image:/Users/vivaanbahl/Desktop/Iphone Apps/TankMazeNEW/TankMazeNEW/tanks.png in CCTextureCache
1970-01-02 10:57:57.-528 TankMazeNEW[729:707] cocos2d: CCSpriteBatchNode: resizing TextureAtlas capacity from [3501] to [4669].
1970-01-02 10:57:57.-487 TankMazeNEW[729:707] cocos2d: CCSpriteBatchNode: resizing TextureAtlas capacity from [4669] to [6226].
1970-01-02 10:57:57.-435 TankMazeNEW[729:707] cocos2d: CCSpriteBatchNode: resizing TextureAtlas capacity from [6226] to [8302].
1970-01-02 10:57:57.-364 TankMazeNEW[729:707] cocos2d: CCSpriteBatchNode: resizing TextureAtlas capacity from [8302] to [11070].

它“未找到”的图像是包含平铺外观图像的源图像,它位于项目文件夹内,位于日志中上面指定的文件路径中。有人可以看到我做错了什么吗?

4

3 回答 3

0

我遇到了同样的问题:对我有用的是将图块集的 .png 文件也添加到 Xcode 项目中。当它在模拟器中运行时,Xcode 知道如何找到 .png 文件,因为它与 .TMX 文件位于同一文件夹中。在将 tile set .png 添加到 Xcode 项目后,它在设备上也可以正常工作。

于 2013-07-19T23:48:11.537 回答
0
resizing TextureAtlas capacity from [8302] to [11070].

我打赌你的瓷砖地图太大了。在模拟器上这并不重要,因为模拟器会使用你的 Mac 内存,它可能在 2 到 16 GB 之间。iPad 可以提供的最大容量是 1 GB,而早期的设备只有 128 到 512 MB。

做一个简单的数学测试:将你的 tilemap 宽度和高度相乘,然后乘以 tilemap 中的 tile 层数。如果每个图块只需要 1 个字节,那么这将为您提供 tilemap 将使用的最小内存量(以字节为单位)。

由于情况并非如此,因此将该数字乘以 50 字节,这更接近于 tile 的实际消耗量(肯定超过 32 个字节)。

具有两层的 1000x1000 瓦片地图消耗近 100 兆字节。

于 2012-11-12T23:12:34.250 回答
0

tank.png 拼写是否正确?

在记事本中打开 TMX 文件并搜索 tank.png 以查看它是否拼写错误或不在正确的路径中。

于 2013-03-25T14:19:38.450 回答