13/1/14

Crear tienda con monedas en Game Maker

Con Game Maker y las variables se puede hacer de todo. Hoy veremos cómo crear una tienda.

Dificultad: fácil.

En primer lugar crearemos la variable "moneda" con el prefijo "global." que hará que esté presente en todo el juego. Por lo tanto, creamos un object llamado, por ejemplo, "moned", con un evento "Create" para que justo al crearse cree la variable. Pondremos que inicialmente tenemos 10 monedas, por lo que la variable será igual que 10.


Continuaremos creando el botón de compra, así que crea un sprite del tamaño que quieras y que tenga el texto de "Comprar". Lo asignamos a un nuevo object al que llamaremos "comprar" y le pondremos un evento "Left Released" que hará que cuando pulsemos el botón, si tenemos más de 9 monedas:

if (si) global.monedas > (mayor que)
{ (sucede que)
global.monedas- (se resta a la variable) =10
}

Si es la primera vez que ves algo de esto no te asustes, realmente es muy sencillo. El "if" significa el condicional "si" y hemos dicho que si la global.monedas es mayor que 9, se le reste 10. Lo que va entre corchetes es lo que sucede si lo que el "if" condiciona se cumple.


A continuación creamos un evento "Draw" (dibujar) para que se dibuje la cantidad de monedas que tenemos. Usaremos el siguiente código para indicar la variable que queremos poner, las coordenadas y el texto que le acompañará:
Draw_text (dibujar texto) (x, y (coordenadas), "Texto que acompaña" + string (variable))

Aplicando las coordenadas 10 y 10, se quedaría:
Draw_text (10, 10, "Monedas:" + string (global.monedas))


Para ver cómo queda crea una "Room" y coloca los dos objects. Se mostrarán las monedas que tienes y prueba haciendo clic en el botón de comprar, ¡verás cómo se resta y te quedas sin monedas!


Para hacerlo mejor pondremos un sprite nuevo de la información del objeto sobre el botón para comprar. Lo creamos, lo asignamos a un nuevo object sin ningún evento y lo ponemos en la room.
Podemos hacer tantos productos como queramos, solo hay que crear el sprite con su información y poner abajo su botón de comprar correspondiente (que hay que modificar la cantidad del "if" y de las monedas restadas).


Con este sistema podemos aplicar muchas cosas: que al comprar algo el personaje cambie de color, consiga vida, se mueva más rápido, pase de nivel... Para ello solo tenemos que aplicar una variable más, así que creamos un nuevo object llamado "variables" y colocamos las variables "global.escudo" y "global.espada" con un valor de 0.


Ahora vamos al botón de compra de cada object. Primero al de la espada, por ejemplo, y le ponemos en el evento que si se compra la espada, además de restar monedas, cambie el valor de la global.espada a 1.


Y para terminar, nos vamos al object de las variables y le ponemos que si la global.espada=1, se pase a la siguiente room (recuerda haberla creado o te dará error).

if global.espada=1
{
room_goto_next()
}

Lo ponemos en un evento "Step", ya que así se irá verificando a cada segundo.


Y con esto ya sabes aplicar cosas cuando se compra un objeto. Solo tienes que cambiar el "room_goto_next()" por la acción que quieras que se haga cuando se haya realizado la compra.
Recuerda que si tienes un personaje en el juego y quieres que la acción se le aplique a él, este código que acabamos de ver tiene que ir en el object del personaje, no en el object "variables".

Eso es todo. Ahora es tu momento: haz volar tu imaginación, practica, y consigue crear el sistema de tienda que deseas.


2 comentarios:
  1. Emilio, descubrí Game Maker gracias a Campamento Web y ahora mismo la estoy usando para un videojuego que estoy haciendo y me va genial, muy buena guía que seguro que ayuda a muchos ;)

    ResponderEliminar

Bienvenido al sistema de comentarios de Campamento Web. Todos los comentarios serán respondidos lo más brevemente posible. Por favor, no incluyas publicidad de sitios web o productos ni palabras ofensivas. ¡Gracias por comentar!