2013-04-08 3 views
2

Я выполнил инструкцию по приведенной ниже ссылке, и я могу получить работу с несколькими разрешениями на платформе ios без cocosBuilder. http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Multi_resolution_supportCocos2d-x и CocosBuilder с несколькими разрешениями для ios и android

Когда я использую файл ccbi cocosbuilder, изображения, отображаемые на экране ipad, по-прежнему являются изображением iphone.

cocosbuilder опубликовал каталог ресурсов, как этот cocosbuilder published directory

но похож cocos2d-й не правильно выбрать изображения для правого разрешения от правого каталога.

Вот мой параметр ресурса в коде. Я тестирую его на ipad 3 с HD.

#define DESIGN_RESOLUTION_480X320 0 
#define DESIGN_RESOLUTION_1024X768 1 
#define DESIGN_RESOLUTION_2048X1536 2 

/* If you want to switch design resolution, change next line */ 
#define TARGET_DESIGN_RESOLUTION_SIZE DESIGN_RESOLUTION_2048X1536 

typedef struct tagResource { 
cocos2d::CCSize size; 
char directory100; 
}Resource; 

static Resource smallResource = { cocos2d::CCSizeMake(480, 320), "ccb/resources-iphone" }; 
static Resource mediumResource = { cocos2d::CCSizeMake(1024, 768), "ccb/resources-ipad" }; 
static Resource largeResource = { cocos2d::CCSizeMake(2048, 1536), "ccb/resources-ipadhd" }; 

#if (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_480X320) 
static cocos2d::CCSize designResolutionSize = cocos2d::CCSizeMake(480, 320); 
#elif (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_1024X768) 
static cocos2d::CCSize designResolutionSize = cocos2d::CCSizeMake(1024, 768); 
#elif (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_2048X1536) 
static cocos2d::CCSize designResolutionSize = cocos2d::CCSizeMake(2048, 1536); 
#else 
#error unknown target design resolution! 
#endif 

// The font size 24 is designed for small resolution, so we should change it to fit for current design resolution 
#define TITLE_FONT_SIZE (cocos2d::CCEGLView::sharedOpenGLView()->getDesignResolutionSize().width/smallResource.size.width * 24) 

#endif /* APPMACROS_H */ 
+0

Можете ли вы дать более подробную информацию о «cocos2d-x не выбираете правильные изображения для правильного разрешения из правильного каталога»? Вы проследили свой код в LLDB? –

+0

Hi Reck: Я нашел решение. Причина в том, что когда cocosbuilder опубликовал ресурс, он создал очень красивую структуру каталогов, чтобы поместить различные изображения разрешения в другую папку. Я предположил, что cocos2d-x выберет правильную работу каталога с опубликованной файловой структурой cocosbuilder. Я был неправ. Мне пришлось вручную установить каталог ресурсов в cocos2d-x в соответствии с опубликованным каталогом cocosbuilder. После того, как я это сделал, все работает нормально. – Emmy

+0

@ Эмми привет Эмми, не могли бы вы рассказать мне, как вы это сделали, потому что я провел день, делая это, и все еще не исправлено. Я пробовал делать разные папки, а также пытался хранить одни и те же папки, но изображения с префиксом «-hd». Для разных папок он не отображается правильно в Cocosbuilder, он показывает, только если оба изображения не-hd и -hd находятся в одной папке. Плюс даже после этого на устройстве его не загружают HD-изображения. – ShayanK

ответ

3

Я использую последний релиз cocos2d-x 2.1.2 и cocosbuilder 3.0. После половины дня борьбы с проблемой я нашел решение.

Причина в том, что когда cocosbuilder опубликовал ресурс, он создал очень красивую структуру каталогов, чтобы поместить различные изображения разрешения в другую папку. Я предположил, что cocos2d-x выберет правильную работу каталога с опубликованной файловой структурой cocosbuilder. Я был неправ. Мне пришлось вручную установить каталог ресурсов в cocos2d-x в соответствии с опубликованным каталогом cocosbuilder. После того, как я это сделал, все работает нормально.

0

Я думаю, что независимо от того, в котором «Папки» вы храните свои изображения, они должны быть названы в соответствии с обычным рисунком, чтобы соответствовать cocos2d конвенции.

fish.png 
fish-hd.png 

Возможно, ваша структура папок - это проект Android?

+0

Mundi: Я думаю, что для новой версии cocos2d-x они используют одно и то же изображение имя, но разные папки. – Emmy

+0

Возможно, вы правы. Однако, возможно, стоит попробовать ... – Mundi

0

Неверный, добавочный -hd для fish.png больше не поддерживается в cocosbuilder 3.0 alpha. вместо этого вы должны разместить свои ресурсы с помощью разрешения ipadhd в папке «resources-auto». cocosbuilder создаст каталог для каждого разрешения экрана, где ваши файлы ресурсов имеют соответствующее разрешение, но с тем же именем файла.

Проблема заключается в том, что если я добавлю эти каталоги для ipad, iPhone-hd, iPhone-hd в качестве целей в свой проект iOS, я получаю ошибку COPYPNG, потому что мне нужно скопировать несколько файлов с тем же именем.