В настоящее время я пытаюсь создать игровой объект, который изменяет растровое изображение всякий раз, когда он перемещается через .setPos()
в QGraphicsScene. Поскольку я новичок во всем этом, я не уверен, какие методы для кеширования растровых изображений или изменения изображений наиболее эффективны. Я уже рассмотрел QPixmapCache
и повторно реализовал функцию paint()
, но я все еще не уверен, какой метод лучше. Вот идея, которая у меня есть на данный момент:
class Object(QGraphicsPixmapItem):
def __init__(self):
super(Object, self).__init__()
self.state = 0
self.img = {
"pix1": QPixmap("pix1.png"),
"pix2": QPixmap("pix2.png"),
"pix3": QPixmap("pix3.png")}
def changePix(self):
if self.state == 0:
self.setPixmap(self.img["pix1"])
elif self.state == 1:
self.setPixmap(self.img["pix2"])
elif self.state == 2:
self.setPixmap(self.img["pix3"])
Буду признателен за любой совет или отзыв, который я могу получить.