我有一个游戏的源代码,以前已经提交到应用商店。现在,我将以更好的性能重新提交它,但一直面临着奇怪的问题。源代码中的每个场景都有.csb文件。我已经在谷歌上搜索并理解了如何使用CocosStudio2.0。为了测试目的,我打开了旧的cocos项目文件(.css),并在没有任何更改的情况下重新发布了它。然后从res文件夹复制并粘贴到资源文件夹中。但是当xcode试图加载.csb文件时,它就崩溃了。
mainLayer = (Layer*)CSLoader::createNode("GameScene.csb");
源代码可以很好地处理旧的.csb文件。但没有和新的一起工作。
xcode没有给我正确的理由。在调试器视图中,我只能看到一些设置值,如下所示。
libpng警告: iCCP:已知不正确的sRGB配置文件 libpng警告: iCCP:已知不正确的sRGB配置文件 后缀= csb textureSize =7
不再
libpng警告: iCCP:已知不正确的sRGB配置文件 libpng警告: iCCP:已知不正确的sRGB配置文件 后缀= csb textureSize =0
更多..。
正如你所看到的,新的应用程序在打印textureSize后崩溃。
我正在使用cocos2dx v3.3和cocos2dx v2.2.1,请您解释一下如何避免这个问题?
非常感谢。
发布于 2015-08-22 20:04:19
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文件。
无论如何,在一个sRGB块中拥有一个iCCP配置文件只是有点臃肿,因为应用程序会假设图像在sRGB颜色空间中,如果没有sRGB配置文件的话。
发布于 2015-08-26 08:07:57
它与libpng警告无关。
这个问题可能是因为cocos2d-x和cocostudio的某些版本彼此不兼容,无论是cocostudio还是cocos2d-x都不能与最新版本兼容。
发布于 2015-09-29 01:57:37
例如,尝试将AppDelegate.cpp中的addSearchPath放在
如果资源/cocosstudio中有.csb文件,那么在applicationDidFinishLaunching()函数上添加以下内容:
FileUtils::getInstance()->addSearchPath("cocosstudio");
在我的作品中,我这样称呼它:
auto node = CSLoader::createNode("MainScene.csb");
https://stackoverflow.com/questions/32152508
复制相似问题