2015-03-07 1 views
1

Standad способ создания спрайта в LibGDX этоКак избавиться Libgdx текстуры с помощью объекта Sprite

Texture texture = new Texture(Gdx.files.internal("myTexture.jpb"); 
Srite sprite = new Sprite(texture); 

Существует также еще один короткий путь

Sprite sprite = new Sprite(new Texture(Gdx.files.internal("myTexture.jpb")); 

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

Можете ли вы представить, как я могу распоряжаться текстурой, учитывая тот факт, что у меня нет прямой ссылки на нее, как я, если я выберу первый способ объявления?

ответ

1

A Sprite является подклассом TextureRegion, поэтому у него есть getTexture() method, чтобы получить базовый объект текстуры.

Sprite API docs сделать это довольно тупым (его просто указана в разделе «Методы, унаследованные от ..»).

+0

Большое спасибо, проблема решена. – exophrenik

+0

Не забудьте отметить ответ, когда найдете решение. – karl

+0

Как пометить ответ? Извините, я здесь новый. – exophrenik