GX Soft

GX Soft

GX Soft

Tutorial 3: Cargando imagenes y moviendolas con el mouse

Anterior                                                                     Siguiente

 

 

Como vimos anterior mente, para iniciar un juego debemos crear la clase principal, la cual controla el flujo del juego y todos los subsistemas(video, audio, teclado, mouse...).

pues hay mas clases, estas son:

RecroImage, RecroText, RecroSound y RecroSprite.

hay mas clases aun, y estan dentro de la clase principal, una es RecroKey, y lo usamos en el capitulo anterior con Tutorial.KeyBoard,

KeyBoard es un objeto de tipo RecroKey.

Tambien esta Mouse del tipo RecroMouse entre otras.

 

Ahora que sabes esto te explicare que es RecroImage que es la que usaremos ahora.

 

RecroImage se utiliza para cargar, almacenar y manejar imagenes estaticas en formato PNG, IMG o BMP, de manera sencilla y rapida.

 

para el tutorial usaremos esta imagen:

 

Tambien necesitamos un fondo o background, usaremos una imagen en blanco de 800x600(la resolucion de pantalla por defecto):

image.png
image.png
background.jpg
background.jpg

Primero definamos el objeto para la imagen:

 

RecroImage Image;

 

Luego pasamos a configurar el objeto Image:

 

Image.Load("image.png");   

Image.SetCoor(300,200);

 

La primera sentencia carga la imagen, y la almacena en memoria,

La segunda la coloca en las coordenadas (300,200).

las coordenadas se basan en que la esquina superior izquierda de tu pantalla es (0,0), el primer 0 es X(horizontal) y el segundo es Y(vertical), asi cada vez que aumenta Y, la imagen baja por la pantalla, y cada vez que aumenta X la imagen es desplaza a la derecha, si estos disminuyen pasa lo contrario.

puedes cambiar cada valor aparte con:

 

Image.SetX(300);


Image.SetY(200);

 

Hay mas metodos que trabajan con coordenadas como SetSpeedX(), Mov() o AddX(), pero se trataran despues.

 

Para cargar el background usaremos:

 

Tutorial.LoadBackGround("background.jpg");

 

Asi cargamos una imagen de fondo, aunque podemos crear una RecroImage para cargar el fondo este metodo es mas eficiente y mas facil, no deberemos definir coordenadas ni nada, porque el background se pondra en las coordenadas(0,0) siempre, otra cosa es que solo hay un background.

 

otra nota es que background se crea al crear un objeto RecroGame, y por defecto es un fondo negro.

 

Ahora que ya cargamos y configuramos todo, (esta parte del codigo se llama inicializar ya que solo pasara una vez al ejecutar el programa) nos toca crear el gameloop o bucle de juego, pero...que es eso?

bueno, simplemente es un bucle(por lo general while) que se repetira y en el se hara todo lo correspondiente al juego:

 

while(el juego esta corriendo)
{

  • leer los eventos(por ejemplo el teclado o mouse);
  • actualizar posicion de los objetos basado en lo anterior
  • actualizar logica de juego basado en lo anterior(como una colicion)
  • actualizar la pantalla(osea mostrar todo)

}

 

ustedes ya han visto un bucle de juego simple, era el bucle que solo salia al pulsar una tecla, ahora dentro de ese mismo bucle escribiremos las cosas que se deben actualizar, como te fijaras arriba en nuestro juego seran:

  • mostrar el fondo
  • mostrar la imagen sobre el fondo
  • actualizar todo

 

lo haremos asi:

 

Tutorial.ShowBackGround();       

Tutorial.Show(Image);

Tutorial.Refresh();

 

Lo primero muestra el background, lo segundo la imagen y lo ultimo actualiza todo.

 

Nuestro codigo hasta ahora va asi:

 

Para mover la imagen con el mouse usaremos el objeto Mouse del tipo RecroMouse que se encuentra dentro de la clase principal del juego.

 

Mouse.x es la posicion Y actual del mouse que se actualiza con cada Tutorial.Refresh() y Mouse.y es la Y,osea podemos hacer esto al principio del bucle:

 

Image.SetCoor(Tutorial.Mouse.x,Tutorial.Mouse.y);

Osea que las coordenadas de la imagen sean las mismas del mouse cada vez que se actualiza.

 

El codigo queda asi:

Este es el resultado....

 

 

Anterior                                                                     Siguiente