Añadir la paleta
Añadir la paleta es similar a lo que hemos hecho con la bola:
| 04AñadirPaleta.py |
|---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75 | import tkinter
class Juego:
def __init__(self, ventana):
self.ventana = ventana
# Configurar ventana
self.ventana.title('Bola')
self.ventana.resizable(False, False)
self.ventana.wm_attributes('-topmost', True)
# Crear lienzo
self.lienzo = tkinter.Canvas(self.ventana,
width=500,
height=400,
bd=0)
self.lienzo.pack()
self.ventana.update()
# Crear bola y paleta
self.bola = Bola(self)
self.paleta = Paleta(self)
# Indicadores
self.terminar = False
# Asociar eventos de teclado
self.ventana.bind_all('<KeyPress>', self.gestionar_tecla)
def gestionar_tecla(self,evento):
if evento.keysym=='Escape':
self.terminar = True
def bucle(self):
while True:
if self.terminar:
break
self.ventana.update_idletasks()
self.ventana.update()
class Bola:
def __init__(self, juego):
self.juego = juego
tamaño = 15
self.lienzo_ancho = self.juego.lienzo.winfo_width()
self.lienzo_alto = self.juego.lienzo.winfo_height()
self.juego.id_bola = self.juego.lienzo.create_oval(0, 0, tamaño, tamaño,
fill='red')
centro_x = self.lienzo_ancho/2 - tamaño/2
centro_y = self.lienzo_alto/2 - tamaño/2
self.juego.lienzo.move(self.juego.id_bola, centro_x, centro_y)
class Paleta:
def __init__(self, juego):
self.juego = juego
ancho = 60
self.lienzo_ancho = self.juego.lienzo.winfo_width()
self.lienzo_alto = self.juego.lienzo.winfo_height()
self.juego.id_paleta = self.juego.lienzo.create_rectangle(0, 0, ancho, 10, fill='blue')
centro_x = self.lienzo_ancho/2 - ancho/2
centro_y = self.lienzo_alto - 50
self.juego.lienzo.move(self.juego.id_paleta, centro_x, centro_y)
v = tkinter.Tk()
juego = Juego(v)
juego.bucle()
juego.ventana.update_idletasks()
juego.ventana.destroy()
|