2013-11-11 3 views
2

Я хочу использовать разрешение файл распознаватель, чтобы выбрать правильный атлас текстуры для моего приложения, так что я createa RFR с парой резолюций:LibGdx resolutionFileResolver + Assetmanager, имена файлов?

Resolution _568x1136 = new Resolution(568, 1136, ".568x1136"); 
Resolution _1200x1920 = new Resolution(568, 1136, ".1200x1920"); 
ResolutionFileResolver resolver = new ResolutionFileResolver(new InternalFileHandleResolver(), _568x1136, _1200x1920); 

manager = new AssetManager(); 
manager.setLoader(TextureAtlas.class, new TextureAtlasLoader(resolver)); 

Теперь я задаюсь вопросом, как я имя/места в файлы ??????

Я попробовал добавить .1200x1920 и .568x1136 позади ОБОИХ .png и .atlas (.png.568.1136 и т. Д.), Но это не сработало.

Я также пробовал использовать папки (parent/568x1136/file.atlas).

Я пытаюсь загрузить атлас следующим образом:

manager.load("data/atlas/splashscreen/splashscreen.atlas", TextureAtlas.class);      // First make sure the splash screen 
manager.finishLoading();                   // is loaded before loading anything 
Assets.splashAtlas = manager.get("data/atlas/splashscreen/splashscreen.atlas", TextureAtlas.class); // else 
+0

Я действительно не вижу, где вы используете распознаватель. – noone

+0

Добавил его в код, забыл, что он копирует его. – Myth1c

+0

Попробуйте удалить **. ** из суффикса и попробуйте помещать файл в 'data/atlas/splashscreen/568x1136/splashscreen.atlas' – noone

ответ

5
// no dots were used for the "suffix" 
Resolution _568x1136 = new Resolution(568, 1136, "568x1136"); 
Resolution _1200x1920 = new Resolution(568, 1136, "1200x1920"); 
ResolutionFileResolver resolver = new ResolutionFileResolver(new InternalFileHandleResolver(), _568x1136, _1200x1920); 

manager.load("data/atlas/splashscreen/splashscreen.atlas", TextureAtlas.class);      
manager.finishLoading();                  
Assets.splashAtlas = manager.get("data/atlas/splashscreen/splashscreen.atlas", TextureAtlas.class); 

Несмотря на другие ответы на StackOverflow относительно ResolutionFileResolver, он на самом деле делает делают использование иерархии папок, чтобы получить правильные изображения , Если предположить, что 568x1136 будет лучшим совпадающим разрешением, он будет искать data/atlas/splashscreen/568x1136/splashscreen.atlas. Если этот файл не найден, резервным будет только data/atlas/splashscreen/splashscreen.atlas. Если этот файл также не существует, произойдет исключение.

Так что название «суффикс» на самом деле не совсем корректно. По-видимому, реализация со временем изменилась. «Суффикс» больше не добавляется к файлам.

+0

Вы, сэр, настоящий герой :) – Myth1c

Смежные вопросы