Creació de jocs amb PyBadge

Programació Dades pràctiques     Recursos CITCEA
Tutorial Exemples Projectes   Inici

Afegim text

Anem a afegir un text al programa amb múltiples sprites. A continuació tenim el programa, en el qual hem marcat les línies afegides o modificades.

import ugame
import stage
class Bloc(stage.Sprite):
    def __init__(self, x, y):
        super().__init__(banc, 1, x, y)
        self.incx = 2
        self.incy = 2
    def update(self):
        super().update()
        self.set_frame(self.frame % 4 + 1)
        self.move(self.x + self.incx, self.y + self.incy)
        if not 0 < self.x < 144:  # 160 - 16 = 144
            self.incx = -self.incx
        if not 0 < self.y < 112:  # 128 - 16 = 112
            self.incy = -self.incy
banc = stage.Bank.from_bmp16("bloc.bmp")
fons = stage.Grid(banc, 10, 8)
text = stage.Text(10, 1)
text.move(15, 30)
text.text("Sprites")
bloc1 = Bloc(32, 40)
bloc2 = Bloc(64, 0)
bloc3 = Bloc(96, 80)
joc = stage.Stage(ugame.display, 12)
blocs = [bloc1, bloc2, bloc3]
joc.layers = [bloc1, bloc2, bloc3, text, fons]
joc.render_block()
while True:
    for element in blocs:
        element.update()
    joc.render_sprites(blocs)
    joc.tick()

La primera de les línies marcades en color crea un contenidor de text de 10 d'ample i 1 d'alt (si el féssim gaire més petit potser no ens hi cabria el text i només se'n veuria una part). La segona situa la cordenada superior esquerra d'aquest contenidor a la posició (15, 30) de la pantalla i la tercera hi posa el text desitjat.

Per tal que el text es pugui veure, cal posar-lo a la llista de capes. En aquest cas, l'hem posat just sobre del fons, de manera que els blocs hi passaran pel damunt.

Funcions per al text

Els objectes de text tenen algunes funcions que ens poden ser útils.

La funció char ens diu quin caràcter hi ha en una determinada posició d'un objetes de text. Per exemple, lletra contindrà el caràcter que hi ha a la quarta posició de la primera línia.

    lletra = text.char(3, 0)

La funció clear esborra el contingut (sense moure el cursor).

    text.clear(3, 0)

La funció cursor situa el cursor. Per posar-lo a la cinquena posició de la primera línia:

    text.cursor(4, 0)

La funció move situa el text en una posició de la pantalla.

    text.move(15, 30)

La funció text escriu contingut a partir de la posició del cursor.

    text.text("Sprites")

 

 

 

 

 

 

 

 

 

 

Licencia de Creative Commons
Esta obra de Oriol Boix está licenciada bajo una licencia no importada Creative Commons Reconocimiento-NoComercial-SinObraDerivada 3.0.