В настоящее время я создаю небольшой 2D-движок для стратегии в реальном времени. И мне интересно, как работать с множеством постоянно меняющихся спрайтов, которые в конечном итоге засорят мой экран .
К вашему сведению, я не стремлюсь ни к чему уровню AAA, я просто пытаюсь реализовать некоторые методы машинного обучения. Таким образом, я выбрал ISO-образы отказа от программного обеспечения Warcraft II, бесстыдно взял немного графики и упал с первыми проблемами.
http://img263.imageshack.us/img263/1480/footman.png
Как Вы можете видеть выше, даже у простого лакея из Warcraft II есть около 50 спрайтов для анимации. А это много. И это будет очень часто менять спрайты. (Черная линия просто проверяла правильность моего альфа-канала)
Итак, последний вопрос: Как мне эффективно реализовать QGraphicsObject, который постоянно меняется? Как мне эффективно реализовать QGraphicsItem, который постоянно меняет свой внешний вид?
Могу ли я просто перегружать метод paint ()
QGraphicsPixmapItem и продолжать изменять Pixmap, используемый на экране? Не вызовет ли это заикания?
Я слышал, что иногда разумно / возможно создать все растровые изображения в одном, скрыть их все и при необходимости дублировать. (Копирование дешевле, чем другие операции)
Есть ли еще какая-нибудь разумная идея?
Спасибо за любой вклад! (учебник по RTS-движкам, сложности и т. д.)