1
2
3
4
5
6
7
8
9 import pilas
10 from actor import Actor
11
13 """Representa un texto en pantalla.
14
15 El texto tiene atributos como ``texto``, ``magnitud`` y ``color``, por
16 ejemplo para crear un mensaje de saludo podríamos escribir:
17
18 >>> saludo = pilas.actores.Texto("Hola mundo!")
19 """
20
21 - def __init__(self, texto="None", x=0, y=0, magnitud=20, vertical=False, fuente=None):
22 """Inicializa el actor.
23
24 :param texto: Texto a mostrar.
25 :param x: Posición horizontal.
26 :param y: Posición vertical.
27 :param magnitud: Tamaño del texto.
28 :param vertical: Si el texto será vertical u horizontal, como True o False.
29 :param fuente: Nombre de la fuente a utilizar.
30 """
31 imagen = pilas.mundo.motor.obtener_texto(texto, magnitud, vertical, fuente)
32 self._definir_area_de_texto(texto, magnitud)
33 Actor.__init__(self, imagen, x=x, y=y)
34 self.magnitud = magnitud
35 self.texto = texto
36 self.color = pilas.colores.blanco
37 self.centro = ("centro", "centro")
38 self.fijo = True
39
40 - def obtener_texto(self):
41 """Retorna el texto definido."""
42 return self.imagen.texto
43
44 - def definir_texto(self, texto):
45 """Define el texto a mostrar."""
46 self.imagen.texto = texto
47 self._definir_area_de_texto(texto, self.magnitud)
48
49 texto = property(obtener_texto, definir_texto, doc="El texto que se tiene que mostrar.")
50
52 """Devuelve el tamaño del texto."""
53 return self.imagen.magnitud
54
55 - def definir_magnitud(self, magnitud):
56 """Define el tamaño del texto a mostrar."""
57 self._magnitud = magnitud
58 self.imagen.magnitud = magnitud
59
60 magnitud = property(obtener_magnitud, definir_magnitud, doc="El tamaño del texto.")
61
62 - def obtener_color(self):
63 """Devuelve el color que tiene asignado el texto."""
64 return self.imagen.color
65
66 - def definir_color(self, color):
67 """Define el color del texto."""
68 self.imagen.color = color
69
70 color = property(obtener_color, definir_color, doc="Color del texto.")
71
72 - def _definir_area_de_texto(self, texto, magnitud):
74