【问题标题】:Failed to load csb file in xcode无法在 xcode 中加载 csb 文件
【发布时间】:2015-11-16 02:49:59
【问题描述】:

我有一个之前已经提交到应用商店的游戏源代码。现在我将以更好的性能重新提交它,但遇到了奇怪的问题。源代码中已经有每个场景的 .csb 文件。我已经用谷歌搜索并了解我必须如何使用 cocos studio 2.0。出于测试目的,我打开了旧的 cocos studio 项目文件(.css)并重新发布,没有任何更改。然后从 res 文件夹中复制并粘贴到资源文件夹中。但是当 xcode 尝试加载 .csb 文件时它崩溃了。

mainLayer = (Layer*)CSLoader::createNode("GameScene.csb");

源代码适用于旧的 .csb 文件。但不适用于新的。

xcode 没有给我正确的理由。我只能在调试器视图中看到一些设置值。

  • 当我尝试使用我重新发布的新 .csb 时

libpng 警告:iCCP:已知不正确的 sRGB 配置文件

libpng 警告:iCCP:已知不正确的 sRGB 配置文件

后缀 = csb

纹理大小 = 7

没有了

  • 当我尝试使用旧源代码中的旧 .csb 时

libpng 警告:iCCP:已知不正确的 sRGB 配置文件

libpng 警告:iCCP:已知不正确的 sRGB 配置文件

后缀 = csb

纹理大小 = 0

还有很多……

如您所见,使用新的应用程序在打印纹理大小后崩溃。

我正在使用 cocos2dx v3.3 和 cocos studio v2.2.1 你能解释一下我应该如何避免这个问题吗?

非常感谢。

【问题讨论】:

    标签: cocos2d-x cocos2d-x-3.0 libpng


    【解决方案1】:

    Libpng-1.6 对于不良 ICC sRGB 配置文件比旧版本更严格。 您可以调用一个新的 C 函数来跳过 sRGB 配置文件检查:

    png_set_option(png_ptr, PNG_SKIP_sRGB_CHECK_PROFILE, PNG_OPTION_ON);
    

    如果您不使用 C,则需要找出等效的方法。

    它们只是警告。如果您拥有图像文件,一个更持久、更好的解决方案是通过使用您最喜欢的 PNG 编辑器删除包含在 PNG iCCP 块中的错误 ICC 配置文件来修复 PNG 文件。

    无论如何,在 iCCP 块中拥有 sRGB 配置文件只是臃肿,因为如果不存在 ICC 配置文件,应用程序将假定图像在 sRGB 色彩空间中。

    【讨论】:

      【解决方案2】:

      与 libpng 警告无关。

      这个问题可能是因为cocos2d-x和cocostudio的某些版本不兼容 将 cocostudio 和 cocos2d-x 更新到最新版本。

      【讨论】:

        【解决方案3】:

        尝试在AppDelegate.cpp中放入addSearchPath,例如

        如果您在 Resource/cocosstudio 中有 .csb 文件,请将其添加到 applicationDidFinishLaunching() 函数中:

        FileUtils::getInstance()->addSearchPath("cocosstudio");
        

        在我的项目中,我这样称呼它:

        auto node = CSLoader::createNode("MainScene.csb");
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-08-13
          • 2015-06-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多