У меня есть пользовательская реализация изображения, которое оживляет. Я хочу сделать несколько экземпляров экземпляра этого класса, используя минимальную память и процессорное время для рендеринга и копирования. Как мне это сделать? Легче всего воссоздать его, когда мне нужен другой, или есть какой-то правильный или рекомендуемый метод копирования экземпляров экземпляров. Я спрашиваю об этом, потому что я не могу найти конструктор копирования, и я не знаю, реализуется ли .clone() в Image.LibGdx Каков правильный способ копирования актера?
ответ
Если вы действительно хотите позаботиться о Memory, вы можете дать всем актерам тот же образ. Но если вы каким-то образом меняете образ и у одного из актеров, он меняет на всех актеров (я делал это со спрайтом и менял TextureRegion. Все мои монстры смотрели в одно и то же направление). Но если вы просто просто используете одно и то же изображение, все время вы можете создавать свои объекты и давать одинаковые ссылки на одно изображение.
Например, как это:
public ArrayList<Actor> generateImageActor(){
ArrayList<Actor> temp = new ArrayList<Actor>();
Image img = new Image(____);
for(int i = 0; i <10; i++){
MyActor act = new MyActor(img);
temp.add(act);
}
return temp;
}
время рендеринга не получает никакого эффекта, если вы refare к одному изображению или всегда новое изображение. Я просто делаю снимок и его смещение и рисует его. Так что, если вы переустановите 1 изображение у 10 актеров, у него будет такое же рандирование, если у вас будет 10 актеров с копией изображения.
Надеюсь, это поможет.
- 1. Каков правильный способ разрешить актера
- 2. Каков правильный способ вставки?
- 3. (LibGDX) Изменение цвета актера
- 4. Перемещение актера LibGDX
- 5. Каков правильный способ создания объекта в libgdx ashley ecs framework?
- 6. Python - каков правильный способ копирования атрибутов объекта другому?
- 7. Каков правильный способ резервного копирования/восстановления базы данных mnesia?
- 8. Каков правильный способ автоматического резервного копирования контейнеров объемом докеров?
- 9. LibGdx - Увеличить сенсорную область актера
- 10. Каков правильный способ десериализации?
- 11. Каков правильный способ броска?
- 12. Каков правильный способ перенаправления?
- 13. Каков правильный способ использования?
- 14. Каков правильный способ сделать это?
- 15. Правильный способ утилизации экранов в Libgdx
- 16. Правильный способ копирования элементов карты
- 17. Правильный способ копирования объекта QMimeData
- 18. Правильный способ копирования readonly NSMutableArray
- 19. Libgdx салфетки жест через актера
- 20. Как назвать актера в libgdx?
- 21. Animate добавления актера в libgdx
- 22. libgdx - дождаться завершения действия актера
- 23. Правильный способ обновления актера с изменениями применительно к SetUserTransform
- 24. Каков правильный способ инициализации объектов?
- 25. Каков правильный способ визуализации представления?
- 26. Каков правильный способ заполнения DTO
- 27. Каков правильный способ использования scala.io.Source?
- 28. Каков правильный способ настройки GLM
- 29. Каков правильный способ использования «instanceof»?
- 30. Каков правильный способ вызвать celery.task.chunks?
Не совсем то, что я искал, но я думаю, что я мог бы просто создать функцию, которая вытаскивает TextureRegion и копирует ее, вы ответили на вопрос, но код, который вы опубликовали, на самом деле не был тем, что я искал. – Lokiare
это не должно быть именно то, что вам нужно было просто примером того, что должно помочь вам в его решении. Я не знаю ваш код, поэтому я не могу создать пример или код для вас, который решает вашу проблему. Ваша идея должна работать с областью текстуры! – BennX
Да, даже близко к ответу на вопрос, но хороший совет в любом случае. –