2015-08-22 3 views
0

У меня есть исходный код игры, который ранее был отправлен в магазин приложений. пока я собираюсь повторно отправить его с лучшей производительностью, но столкнулся с странной проблемой. файлы .csb для каждой сцены в исходном коде. я googled и понял, как я должен использовать кокос студии 2.0. для целей тестирования я открыл старый проект проекта студии cocos (.css) и опубликовал его без изменений. а затем скопируйте из папки res и вставьте его в папку ресурсов. но когда xcode попытался загрузить файл .csb, он разбился.Не удалось загрузить файл csb в xcode

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

Исходный код отлично работает со старым .csb-файлом. но не работал с новым.

xcode не дал мне правильной причины. Я вижу только некоторые значения настроек в этом отладчике.

  • , когда я попытался с новой .csb, который я уже переизданного

предупреждения Libpng: МКП: известный некорректным профиль SRGB

предупредительной Libpng: МКП: известным некорректным профилем SRGB

суффикс = csb

textureSize = 7

не более

  • , когда я пытался со старым .csb от старого исходного кода

предупредительной Libpng: МКП: известный некорректного профиль SRGB

предупредительной Libpng: МКП: известный неправильный профиль sRGB

suffix = csb

textureSize = 0

многое другое ...

, как вы можете видеть, с новым, приложение разбился после того, как напечатанный textureSize.

Я использую cocos2dx v3.3 и студию cocos v2.2.1 не могли бы вы объяснить, как мне избежать этой проблемы?

много спасибо.

ответ

0

Libpng-1.6 более строгий, чем более старые версии, о плохих профилях ICC sRGB. Существует новая функция C, что вы можете позвонить, чтобы пропустить проверку профиля SRGB:

png_set_option(png_ptr, PNG_SKIP_sRGB_CHECK_PROFILE, PNG_OPTION_ON); 

Если вы не используете C вы должны выяснить, эквивалентный способ сделать это.

Это просто предупреждения. Более постоянное и лучшее решение, если у вас есть файлы изображений, - это исправить файлы PNG, удалив плохие профили ICC, которые содержатся в блоке PNG iCCP, используя ваш любимый редактор PNG.

Наличие профиля sRGB в куске iCCP - это просто раздувание, так как приложения предполагают, что изображение находится в цветовом пространстве sRGB, если нет профиля ICC.

0

Это не имеет никакого отношения к предупреждению libpng.

Эта проблема может быть вызвана тем, что некоторые версии cocos2d-x и cocostudio несовместимы друг с другом. Обновите как cocostudio, так и cocos2d-x до последней версии.

0

пытаются поставить в AppDelegate.cpp на addSearchPath, например

, если у вас есть .csb файлы в Resource/cocosstudio добавить это на applicationDidFinishLaunching функция():

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

В моей proyect Я называю это следующим образом:

auto node = CSLoader::createNode("MainScene.csb"); 
Смежные вопросы