Я кодирование простой игры, и я имею следующие проблемы:метод класса не работает в коде
if pidgeon.rect.y > 360:
pygame.mixer.music.stop()
pidgeon.electrocute()
electrocute.play()
time.sleep(2)
showGameOverScreen(score, total_score)
Метод, который не работает на:
pidgeon.electrocute()
Что необходимо сделать следующий:
def electrocute(self):
self.image=pygame.image.load(r"electrocuted_pidgeon.png").convert()
self.image.set_colorkey((255,255,255))
Но вместо изменения изображения пиджона при воспроизведении звука с электротоком. Он просто ждет 2 секунды, пока играет звук электрошока, а затем переходит на экран игры. Почему это не меняет образ?
Я пробовал в других частях кода (например, при нажатии на полосу пробела он должен меняться, и это так), поэтому изображение может измениться.
Я использую pygame в python 2.7, на всякий случай.
Я не знаком с pygame (вообще), но я думаю, что вызов 'time.sleep' - это, вероятно, плохая идея. См. [Этот вопрос] (например, http://stackoverflow.com/questions/33932722/how-to-use-time-sleep-in-pygame). –
Спасибо, я буду искать альтернативу. –
определите свой метод перед оператором 'if' и попробуйте, а также попробуйте с небольшим удалением в методе типа' print («something») ' –