Cocos2dx-3.0 использует setSearchPaths, адаптированный к размеру экрана, не работает

Проблема в том, что после того, как я использую setSearchPaths (), чтобы установить другой путь к изображению для экрана разного размера, похоже, что проект получает изображение из пути к изображению случайным образом.

Например: если высота экрана равна 1136, путь поиска — «iphoneBig», и проект должен использовать изображение пути «iphoneBig», но иногда проект использует изображение пути «iphoneMid».

Я разместил свои фрагменты кода здесь:

typedef struct tagResource

{

cocos2d::Size size;

char directory[100];

}Resource;

static Resource smallResource = { cocos2d::Size::Size(480, 320), "iphoneSmall" };

static Resource iPhone4Resource = { cocos2d::Size::Size(960, 640), "iphoneMid" };

static Resource iPhone5Resource = { cocos2d::Size::Size(1136, 640), "iphoneBig" };

cocos2d::Size frameSize = pEGLView->getVisibleSize();

pEGLView->setDesignResolutionSize(frameSize.width, frameSize.height, ResolutionPolicy::NO_BORDER);if (frameSize.height > 960)

{

std::string str(iPhone5Resource.directory);

std::vector<std::string> vtStr;

vtStr.push_back(str);

cocos2d::FileUtils::getInstance()->setSearchPaths(vtStr);

}

else if (frameSize.height > smallResource.size.height)

{

std::string str(iPhone4Resource.directory);

std::vector<std::string> vtStr;

vtStr.push_back(str);

cocos2d::FileUtils::getInstance()->setSearchPaths(vtStr);

}

Кто может сказать мне причину? Большое спасибо.

3

Решение

Описанное поведение проистекает из того факта, что различные папки ресурсов были добавлены как группы, и когда Xcode создает исполняемый файл, он копирует все файлы ресурсов в один путь, и затем идентичные имена будут перезаписаны. Порядок, в котором копируются файлы, может гарантировать, что файл, действительно присутствующий в приложении, отличается от запуска к запуску.

Когда вы добавляете ресурсы в свой проект, вы должны создать ссылку на папку (не на группу), особенно если у нескольких папок с ресурсами общее имя файла:

введите описание изображения здесь

4

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector