Cocos2d-Swift v3.x Sprite Builder: в iPad iPhone используются изображения sd. суффикс -ipad игнорируется

Код:

var bg = CCSprite(imageNamed:"Background.png") 

Изображения, используемые в ресурсе:

Background-hd.png
Background-ipad.png
Background-ipadhd.png
Background-iphone5hd.png
Background.png

На всех устройствах Background.png(320x480) другие изображения игнорируются. Как это исправить?

Дисплей Retina не включен... Как включить дисплей Retina в v3?

Вот рабочий пример кода с этой проблемой.

2 ответа

Решение

Я не очень продвинутый пользователь SpriteBuilder, но у меня есть некоторые опасения по поводу вашей проблемы.

Поскольку вы используете Sprite Builder для запуска проекта, он настраивает ваши CCFileUtils для различения ресурсов различных устройств, просматривая папки, а не префиксы. В вашем приложении делегата вы можете увидеть эту строку:

[CCBReader configureCCFileUtils];

зайдя в этот метод, вы увидите, что режим поиска файловых утилит установлен в CCFileUtilsSearchModeDirectory

sharedFileUtils.searchMode = CCFileUtilsSearchModeDirectory;

Поэтому вам нужно использовать папки "Публикация" и копировать фоновое изображение в каждую из них с одинаковым именем (Background.png), но с разным разрешением для каждого устройства.

Вам вообще не нужно использовать суффиксы изображений в SpriteBuilder.

Наконец используются обновленные файлы Cocos2d и теперь -hd,-ipad. Только что обновил одну строчку

sharedFileUtils.searchMode = CCFileUtilsSearchModeSuffix
Другие вопросы по тегам