2015-07-21 4 views
1

Привет У меня есть объект, которым является космический корабль, и я хочу, чтобы изменить цвет (изменить изображение), когда я нажимаю кнопку здесь мой объект:Изменение спрайт изображения сверхурочно

class soucoupe(pygame.sprite.Sprite): 


def __init__(self, image, height, speed): 
    pygame.sprite.Sprite.__init__(self) 

    self.speed = -2 
    self.image = pygame.Surface([64, 34]) 
    self.image = blus # this is the image 

    self.pos = image.get_rect() 
    self.pos.x=520 
    self.pos.y=680 
    self.rect = self.image.get_rect() 

def move(self): 
    global dpush 
    global gpush 

    if dpush and gpush ==1 or dpush and gpush ==0: 
     self.pos = self.pos.move(0*self.speed, 0) 
    if dpush==1: 
     self.pos = self.pos.move(-self.speed, 0) 
    if gpush==1: 
     self.pos = self.pos.move(self.speed, 0) 

я пытался когда кнопка нажимает: soucoupe.image = image2 , но это не работает, изображение все равно такое же, это выглядит просто, но я не знаю.

+0

Вы не ввели весь код. Вы также должны проверить установленные правила написания кода, см. PEP-8 – muddyfish

ответ

0

Вы сделали не все соответствующего кода, но вы сказали, что вы делаете:

soucoupe.image= image2 

с бы установить атрибут soucoupeклассаimage.

Это не то же самое, что установка атрибута экземпляра класса.

Где-то вы, вероятно, создать экземпляр soucoupe, как

something = soucoupe(image, height, speed) 

Затем вы должны установить атрибут something

something.image = image2 

Есть некоторые другие проблемы с вашим кодом image, но это выходит за рамки этого ответа.

+0

Ok thx Я понимаю, теперь я решил эту проблему, извините, что я начинаю говорить о других проблемах в коде. не могли бы вы указать их мне, если у вас есть время, конечно? – Philipe

+0

Примеры: почему вы устанавливаете 'self.image' два раза? Почему вы сохраняете позицию в 'self.pos' и' self.rect'? – sloth

+0

Да, это были некоторые тесты, которые я сделал, я должен удалить, что вы правы. – Philipe

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