FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Animação funcionando com todos porcos mortos · pythonprobr/pythonbirds@7aa51b8 · GitHub

Commit 7aa51b8

Browse files
renzon
committed
Animação funcionando com todos porcos mortos
1 parent be1cca3 commit 7aa51b8

2 files changed

Lines changed: 33 additions & 77 deletions

File tree

‎fase_tkinter.py‎

Lines changed: 0 additions & 55 deletions
This file was deleted.

‎placa_grafica_tkinter.py‎

Lines changed: 33 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
# coding: utf-8
22
import time
3+
from tkinter import PhotoImage, NW, Tk, Canvas
4+
from tkinter.constants import ALL
35

4-
from tkinter import *
5-
from tkinter import ttk
66
from fase import Fase
77
from atores import PassaroVermelho, PassaroAmarelo, Porco, Obstaculo
8-
from fase_tkinter import FaseTk
98

109

1110
def get_angulo(event):
@@ -27,45 +26,57 @@ def get_angulo(event):
2726
# b = Button(popup_angulo, text="OK", command=get_angulo)
2827
# b.pack(pady=5)
2928

29+
root = Tk()
3030

31+
PASSARO_VERMELHO = PhotoImage(file="images/passaro_vermelho.gif")
32+
PASSARO_AMARELHO = PhotoImage(file="images/passaro_amarelo.gif")
33+
PORCO = PhotoImage(file="images/porco.gif")
34+
PORCO_MORTO = PhotoImage(file="images/porco_morto.gif")
35+
OBSTACULO = PhotoImage(file="images/obstaculo.gif")
36+
TRANSPARENTE = PhotoImage(file="images/transparente.gif")
37+
BACKGROUND = PhotoImage(file="images/background.gif")
3138

39+
CARACTER_PARA__IMG_DCT = {'D': PASSARO_VERMELHO, '>': PASSARO_AMARELHO, '@': PORCO, 'O': OBSTACULO,
40+
'+': PORCO_MORTO, ' ': TRANSPARENTE}
3241

3342

34-
35-
def plotar(canvas, ponto):
43+
def plotar(camada_de_atores, ponto):
3644
multiplicador = 10 # 10 px/m
3745
x = multiplicador * ponto.x
38-
y = ALTURA_DA_TELA - ponto.y * multiplicador - 11 * multiplicador
39-
canvas.coords(ponto.canvas_img_id, (x, y))
46+
y = ALTURA_DA_TELA - ponto.y * multiplicador - 12 * multiplicador
47+
image = CARACTER_PARA__IMG_DCT.get(ponto.caracter, TRANSPARENTE)
48+
camada_de_atores.create_image((x, y), image=image, anchor=NW)
49+
# camada_de_atores.create_rectangle(x, y, 150, 75, fill="blue")
50+
4051

52+
def animar(tela, camada_de_atores, fase, passo=0.1, delta_t=0.1):
53+
tempo = 0
54+
passo = int(1000 * passo)
4155

42-
def animar(tela,fase,passo=0.1, delta_t=0.1):
43-
tempo=0
4456
def _animar():
57+
camada_de_atores.delete(ALL)
58+
camada_de_atores.create_image((0, 0), image=BACKGROUND, anchor=NW)
4559
nonlocal tempo
4660
tempo += delta_t
47-
time.sleep(passo)
4861
for ponto in fase.calcular_pontos(tempo):
49-
plotar(fase.canvas, ponto)
50-
tela.after(1, _animar)
51-
62+
plotar(camada_de_atores, ponto)
63+
tela.after(passo, _animar)
5264

53-
54-
tela.after(1, _animar)
65+
camada_de_atores.pack()
66+
_animar()
5567
tela.mainloop()
5668

69+
tela.after(passo, _animar)
70+
5771

5872
if __name__ == '__main__':
59-
root = Tk()
6073
root.title("Python Birds")
6174
root.geometry("800x600")
6275
root.resizable(0, 0)
6376

6477
stage = Canvas(root, width=800, height=ALTURA_DA_TELA)
65-
bg_image = PhotoImage(file="images/background.gif")
66-
stage.create_image((0, 0), image=bg_image, anchor=NW)
67-
stage.pack()
68-
fase = FaseTk(stage)
78+
79+
fase = Fase()
6980
passaros = [PassaroVermelho(3, 3), PassaroAmarelo(3, 3), PassaroAmarelo(3, 3)]
7081
porcos = [Porco(75, 1), Porco(70, 1)]
7182
obstaculos = [Obstaculo(31, 10)]
@@ -75,9 +86,9 @@ def _animar():
7586
fase.adicionar_obstaculo(*obstaculos)
7687

7788
fase.lancar(45, 1)
78-
fase.lancar(64, 2)
89+
fase.lancar(63.5, 2)
7990
fase.lancar(23, 3)
8091

81-
animar(root,fase)
92+
animar(root, stage, fase)
8293

8394
# root.wait_window(popup_angulo)

0 commit comments

Comments
 (0)

Back | FazBrowse Home | New Git URL