En esta semana vamos a aprender a jugar con funciones echas por otro.  Para que sea mas divertido usamos funciones con imágenes que agrupamos todas en un archivo. Si las funciones de otro estan en un archivo que se llama por ejemplo nahual.rb entonces lo unico que tenemos que poner es:

require 'nahual'

Para crear una pantalla de 640×480 pixeles (vacia por ahora) tenemos que hacer lo siguiente:

pantalla = crearPantalla(640,480)
while true  
  evento = obtenerEvento()
  if ( evento == 0 )
    cerrarPantalla()
  end   
  limpiarPantalla(pantalla)  
  redibujarPantalla(pantalla)
end

el ciclo con el while true es el lazo del juego o game loop . Cada ratito se van a volver a ejecutar las funciones de redibujar y asi vamos a lograr el efecto película y darle movimiento a nuestras imágenes.

Los sprites

Un sprite es una imagen que queremos poner en la pantalla y moverla. Puede representar los jugadores de futbol en los jueguitos, etc.  Para crear un sprite tenemos que hacer

sprite = crearSprite("bernard2.png")

y después en el game loop tenemos que dibujarlo distinto. Por ejemplo si apretan la letra ‘h’ hacemos que se mueva por la pantalla. Fijense, que “bernard2.png” es el nombre del archivo con la imagen que queremos usar. Podemos hacer la imagen que nosotros queramos usando el paint!

if ( evento == 'h' )
    #sprite.moverA(10,10)
    if ( sprite.y < 200 )
      sprite.mover(0,10)
    else
      sprite.mover(10,0)     
    end
    if ( sprite.x > 600 )
      sprite.moverA(50,50)
    end
  end

Para ver si apretaron una tecla o o si hicieron click en el mouse tenemos la funcion obtener evento, la podemos usar de la siguiente manera:

evento = obtenerEvento()
if ( evento = 'a' )
    puts 'apretaron la a'
end

Si el evento es 0 (el numero 0) entonces hay que salir y si es 1 es que fue un click del mouse.

Con estas sencillas funciones podemos hacer nuestro juego de jugar a la mancha.

Jugando a la mancha
  1. Crea un juego vacio que solo muestre la pantalla vacia.
  2. Crea 2 sprites uno con una imagen y otro con otra y ubicalos en uno en la posicion 10,10 y el otro en la 600,400.
  3. Hace 4 funciones que se llamen mover_arriba, mover_abajo, mover_izquierda, mover_derecha que muevan 5 pixeles al sprite.
  4. Elegi 4 teclas (una para cada direccion) y hace una funcion que, a partir del evento, tome una decision con el sprite.
  5. Hace otra funcion que se llame mancha? para ver si un sprite toco al otro.
  6. Juga!!!!
Share and Enjoy:
  • Facebook
  • LinkedIn
  • Twitter
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Diggita
  • MySpace
  • PDF
  • Print
  • email

Leave a Reply