无法在xcode中加载csb文件

时间:2015-08-22 05:02:49

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

我有一个以前已经提交到app商店的游戏源代码。现在我将以更好的表现重新提交它,但一直面临着奇怪的问题。源代码中的每个场景都有.csb文件。我用谷歌搜索并了解我如何使用cocos studio 2.0。出于测试目的,我打开旧的cocos工作室项目文件(.css)并重新发布它没有任何变化。然后从res文件夹中复制并将其粘贴到资源文件夹中。但当xcode试图加载.csb文件时,它崩溃了。

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

源代码适用于旧的.csb文件。但没有使用新的。

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

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

libpng警告:iCCP:已知错误的sRGB配置文件

     

libpng警告:iCCP:已知错误的sRGB配置文件

     

suffix = csb

     

textureSize = 7

不再

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

libpng警告:iCCP:已知错误的sRGB配置文件

     

libpng警告:iCCP:已知错误的sRGB配置文件

     

suffix = csb

     

textureSize = 0

更多......

正如您所看到的,使用新的应用程序,应用程序在打印textureSize后崩溃。

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

非常感谢。

2 个答案:

答案 0 :(得分:0)

对于糟糕的ICC sRGB配置文件,Libpng-1.6比旧版本更严格。 您可以调用一个新的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色彩空间中。

答案 1 :(得分:0)

尝试在AppDelegate.cpp中添加addSearchPath,例如

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

items()

在我的proyect中我称之为:

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