Añadir la bola¶
El tercer paso de nuestra aplicación es añadir la bola. En principio la mostramos en el centro de la ventana:
| 03AñadirBola.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 | |
Definimos una clase Bola y la instanciamos, creando un objeto que guardamos
como propiedad del juego. Véase que este ya tiene tres objetos gráficos,
la ventana, el canvas y la bola.
Para instanciar la bola, le pasamos una referencia al objeto juego. Esto
permite a los métodos de la clase Bola acceder a las propiedades del juego:
self.bola = Bola(self)
Dentro del método __init__() de la bola, guardamos la referencia:
def __init__(self, juego):
self.juego = juego
El juego tiene a su vez la propiedad lienzo, que nos permite descubrir
las dimensiones de este y guardarlo entre las propiedades de la bola:
self.lienzo_ancho = self.juego.lienzo.winfo_width()
self.lienzo_alto = self.juego.lienzo.winfo_height()
Ahora que podemos acceder al lienzo desde la bola, dibujamos el círculo y guardamos una referencia al mismo:
self.juego.id_bola = self.juego.lienzo.create_oval(0, 0, tamaño, tamaño, fill='red')
... y lo desplazamos al centro del lienzo:
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)
En futuros pasos, desplazaremos la bola por la pantalla usando el método
bucle() del juego.