Gosu: Mostrare una Immagine

Post image of Gosu: Mostrare una Immagine

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 :D )
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

begin
  # Se hai installato Gosu da Rubygems
  require 'rubygems'
rescue LoadError
  # Altrimenti
end
require 'gosu'

class GameWindow < Gosu::Window
  def initialize
    super(640,480,false) #(width,height, fullscreen)
    self.caption = "Gioco 1" #titolo dell'applicazione
    @image = Gosu::Image.new(self,"img/sfondo.png",false)
  end
  def update
  end
  def draw
    @image.draw(0,0,1)
  end
  def button_down(id)
    #se hai premuto Esc
    if id == Gosu::Button::KbEscape then
      close #chiude il programma
    end
  end
end

window = GameWindow.new
window.show #avvia il main loop
Posted by admin   @   22 November 2009

Related Posts

Like this post? Share it!

RSS Digg Twitter StumbleUpon Delicious Technorati Facebook

4 Comments

Comments
kingartur2 Nov 24, 2009
10:34 pm
#1 kingartur2 :

Cosa bisogna definire quando si chiama la classe Gosu::Image e quando si richiama il suo metodo draw???

Author admin Nov 26, 2009
3:49 pm
#2 admin :

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 :) .

kingartur2 Nov 26, 2009
5:29 pm
#3 kingartur2 :

E quali sono i metodi che vengono richiamati a ogni frame???

Author admin Dec 24, 2009
3:43 am
#4 admin :

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

Leave a Comment

You must be logged in to post a comment.

Previous Post
«
Next Post
»
Powered by Wordpress   |   Lunated designed by ZenVerse   |   Logo by Luminoz