2016-12-16 3 views
1

Я хочу использовать Эшли, но я также хочу использовать действия и слушателей с помощью Scene2d. Я читал, что это не очень хорошая идея, но почему? Могу ли я создать систему с stage.act(); и stage.draw(); в методе обновления или это плохая идея? Благодарю.Использовать Эшли с Scene2d в libGDX?

ответ

2

Я не думаю, что вы можете сказать, что всегда сложно смешивать Scene2D и ECS, такие как Эшли. Он может сделать лот смысла использовать Scene2D.UI для вашего пользовательского интерфейса, а затем Эшли для всего остального. Как вы отмечаете, нет никакой причины, почему вы не могли связать эти два вместе. Это решение, основанное на вашем конкретном случае использования.

Это, как говорится, одна из причин, почему вы, как правило, не используете Scene2D и Эшли вместе, это то, что они имеют много перекрытий. Один из основных принципов информатики - «Не повторяй себя» - не строите одно и то же дважды, и когда вы что-то создаете, убедитесь, что вы используете как можно меньше частей. Это включает в себя отказ от библиотек, которые вам не нужны.

Если вы используете действия Scene2D для перемещения ваших актеров/сущностей, и вы используете Stage # draw(), чтобы нарисовать все, что осталось для добавления Эшли? Вероятно, недостаточно, чтобы оправдать сложность, которую она добавляет.

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