Como fazer animação para jogo usando Graphics

Tô criando um jogo em python, usando a biblioteca graphics e não sei como mover a animação.
Eu criei uma lista com uns sprites e sei fazer a animação básica, mas não tenho ideia de como fazer ele se mover quando a pessoa pressiona uma tecla, já que não posso usar o .move em uma lista
meu código tá assim:

from graphics import *
from time import *


def animation():

#framerate = 1/30.0

liam = [Image(Point(250, 250),  str(i) + '.png') for i in range(4)]
liamFrame = 0
liam[liamFrame].draw(win)
while win.closed == False:

    liam[liamFrame].undraw()
    liamFrame = (liamFrame + 1) % len(liam)
    liam[liamFrame].draw(win)

    win.update()
    sleep(.1)

win = GraphWin('Animation', 600, 600, autoflush=False)
animation()

Boa noite!
Tudo bem @Fran.Silva?

O uso da biblioteca graphics é obrigatório? Se não for, eu te aconselho usar outra biblioteca mais apropriada, a biblioteca PyGame, você pode encontrar mais informações no link a frente PyGame.

Simples, basta capturar o evento referente a tecla em questão, quando o evento for capturado você disparar uma ação referente aquela tecla.

Por que não?!
Outro jeito de fazer isso é criar um novo objeto e apagar o anterior, por exemplo, imagine que existe um objeto em x, mas você quer move-lo para x+4 você criar o mesmo objeto em x+4 e apagar o que estava em x

Abraços!

1 curtida

O uso da biblioteca graphics é sim obrigatório :confused:

eu já tentei fazer isso, mas ainda é uma lista e aparece a mensagem de que não posso mover uma lista