【问题标题】:CCTMXTileMap works on simulator but not on deviceCCTMXTileMap 适用于模拟器但不适用于设备
【发布时间】:2012-11-01 08:33:48
【问题描述】:

我有一个 TMX Tile Map,我用它作为我正在制作的一个使用 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].

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

【问题讨论】:

    标签: ios cocos2d-iphone ios-simulator device tmx


    【解决方案1】:
    resizing TextureAtlas capacity from [8302] to [11070].
    

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

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

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

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

    【讨论】:

    • 问题其实出在这一行:Couldn't add image:/Users/.../tanks.png。该图像是磁贴外观的来源,它可以在模拟器上运行。
    【解决方案2】:

    tanks.png 拼写正确吗?

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2011-03-08
        • 2015-02-13
        • 2011-03-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多