我有一个以前已经提交到app商店的游戏源代码。现在我将以更好的表现重新提交它,但一直面临着奇怪的问题。源代码中的每个场景都有.csb文件。我用谷歌搜索并了解我如何使用cocos studio 2.0。出于测试目的,我打开旧的cocos工作室项目文件(.css)并重新发布它没有任何变化。然后从res文件夹中复制并将其粘贴到资源文件夹中。但当xcode试图加载.csb文件时,它崩溃了。
mainLayer = (Layer*)CSLoader::createNode("GameScene.csb");
源代码适用于旧的.csb文件。但没有使用新的。
xcode给了我没正确的理由。我只能在调试器视图中看到一些设置值。libpng警告:iCCP:已知错误的sRGB配置文件
libpng警告:iCCP:已知错误的sRGB配置文件
suffix = csb
textureSize = 7
不再
libpng警告:iCCP:已知错误的sRGB配置文件
libpng警告:iCCP:已知错误的sRGB配置文件
suffix = csb
textureSize = 0
更多......
正如您所看到的,使用新的应用程序,应用程序在打印textureSize后崩溃。
我正在使用cocos2dx v3.3和cocos studio v2.2.1 你能解释我应该如何避免这个问题吗?
非常感谢。答案 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");