Моя программа представляет собой серию изображений и выводит их в aste.png и aste.atlas. Мой код для упаковки заключается в следующем:TexturePacking with Libgdx -
public void pack(){
System.out.println("Packing should not be ordinarily called! If you did not have explicit intentions of Packing, please check ImageAtlas constructor.");
Settings settings = new Settings();
settings.maxWidth = 512;
settings.maxHeight = 512;
TexturePacker2.process(settings, "E:/Files/Eclipse Projects/StarFighters/StarFighters-android/assets/sprites/" + name,
"E:/Files/Eclipse Projects/StarFighters/StarFighters-android/assets/sprites/", name.substring(0,4));
}
мне не нужно упаковать КАЖДЫЙ раз, когда я запустить программу, поэтому я могу уйти с абсолютными путями к файлам (я соберу только тогда, когда я бег рабочего стола и добавили новые изображения), однако я использовал только абсолютные пути к файлу, потому что не могу понять, как это сделать в противном случае. Я использую папку ресурсов Android. (Рабочий стол связан с папкой ресурсов Android.) Поскольку я запускаю его из настольной версии, он пытается перейти на рабочий стол, когда мне нужно, чтобы он использовал путь к ресурсам, который для меня используется Gdx.files.internal. (Эта проблема не существенна для функции моей программы)
После того, как я уложил изображения я делаю следующим образом:
atlas = new TextureAtlas(Gdx.files.internal("sprites/aste.atlas"));
public Texture getTex(String imgname){
return atlas.findRegion(imgname).getTexture();
}
переходит в «sma_a2» как imgname, когда я пробую и getTex ();
мой каталог активов/спрайты/астероиды имеет следующие изображения: big_a1.png big_a2.png med_a1.png med_a2.png sma_a1.png sma_a2.png Какие были успешно упакованы в Асте. PNG и aste.atlas
Моя проблема не в том, независимо от того, что Fname я прохожу в образе я получаю это весь aste.png
мне было интересно, почему я хотел бы использовать пакет вместо просто изображения, когда я начинаю с изображений, а затем упаковываю их, onl у получать изображения снова ..
Итак, как я могу использовать область текстуры? – csga5000
У меня есть 2 класса (астероид и космический корабль), в одном классе используется простая текстура, а астероид использует textureatlas. Эти классы разделяют родителей, поэтому при рисовании этих объектов используется «getTex», и он возвращает текстуру. Я не уверен, как мне с этим справиться. – csga5000
Я думаю, что я собираюсь добавить логическое значение для использованияTexRegion, а затем моя программа также получит getTexRegion, который будет вызываться, если это логическое значение false. – csga5000