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