Nella cartella del nostro progetto creaiamo una cartella di nome img ed inseriamo al suo interno un file PNG di nome sfondo.png di dimensioni 640×480 (può essere quello che volete, anche uno scarabocchio in paint
)
E’ molto semplice caricare e mostrare una immagine a schermo, bastano due semplici comandi!
Prendiamo Esempio1.rb creato in precedenza come base e creiamo
Esempio2.rb
Gosu::Image.new( window, filename, tileable,[x,y, width, height])
Il primo argomento è l’istanza della classe Gosu::Window o di una sua figlia
Il secondo il nome del file immagine (ho creato una cartella di nome img e ho messo il file all’interno)
Il terzo è un booleano (true, false) per dire se l’immagine è ripetibile o meno (si applica per delle funzioni di disegno)
Gli altri argomenti individuano la porzione dell’immagine sorgente da usare come immagine e si possono trascurare se vogliamo usare tutta l’immagine
Il metodo draw è definito come draw(x,y,z,scale_x, scale_y, color, mode)
sono essenziali i primi 3 argomenti:
Le prime due coordinate x e y determinano dove porre l’angolo in alto a sinistra dell’immagine
La coordinata z indica quanto è profonda una immagine in modo che se ci sono due immagini che si sovrappongono nei piani x e y venga disegnata prima quella con z più grande.
Lo scale determina di che fattore scalare l’immagine per ogni coordinata, il colore rappresenta il colore di blending e il mode è il modo di blending
Se non meglio specificato il colore di blending è il bianco ed il mode è default quindi non si vedono effetti speciali sull’immagine
.
E quali sono i metodi che vengono richiamati a ogni frame???
Metodi chiamati ad ogni frame:
update() – la main logic
draw() – il rendering
button_down?(id) – restituisce true se il tasto è stato premuto
button_up?(id) – restituisce true se il tasto è stato rilasciato
—
Mentre button_down(id) e button_up(id) vengono chiamati soltanto quando l’utente preme o rilascia il pulsante, prima della chiamata del metodo update
You must be logged in to post a comment.
10:34 pm
Cosa bisogna definire quando si chiama la classe Gosu::Image e quando si richiama il suo metodo draw???