Você está aqui: Python ::: Tkinter GUI Toolkit ::: Animação, Animações, Técnicas de Animação |
Como movimentar uma imagem no Canvas do Tkinter usando as teclas de direçãoQuantidade de visualizações: 707 vezes |
Nesta dica mostrarei uma técnica de animação muito valiosa para quem está começando a desenvolver jogos em Tkinter. Nossa idéia é carregar uma imagem na superfície de um elemento Canvas e movê-la na tela usando as teclas de direção (para cima, para baixo, para a direita e para a esquerda). Este código é muito interessante pois mostra não somente como carregar a imagem no Canvas mas também a usar a função move() para movimentar um determinado elemento, identificado por seu atributo único. Outro detalhe importante é uso da função bind() para anexar à janela da aplicação os eventos que queremos tratar. Veja o código Python completo para o exemplo: # vamos importar o módulo Tkinter from tkinter import * from tkinter.ttk import * # vamos importar os objetos Image e ImageTk do Pillow from PIL import Image, ImageTk # variáveis globais canvas = None imagem = None incremento_x = 20 incremento_y = 20 # método principal def main(): # referencia as variáveis globais global canvas, imagem, pos_x, pos_y # vamos criar o frame para representar a janela da aplicação Tkinter janela = Tk() # agora definimos o tamanho da janela janela.geometry("800x650") # criamos o objeto Canvas com o fundo branco canvas = Canvas(janela, width=750, height=600, bg="white") canvas.pack(pady=20) # vamos carregar a imagem que será exibida no Canvas imagem_moto = ImageTk.PhotoImage(Image.open('moto.png')) # colocamos a imagem no Canvas e geramos o id único "imagem" para ela imagem = canvas.create_image(50, 50, anchor=NW, image=imagem_moto) # agora fazemos o binding dos eventos janela.bind("<Left>", esquerda) janela.bind("<Right>", direita) janela.bind("<Up>", cima) janela.bind("<Down>", baixo) # e entramos no loop da aplicação |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |