Quiero hacer un inventario en un videojuego, y para lograrlo necesito algún código para dibujar en texto el número de objetos (ya sean gemas, armas, libros, etc.) junto a un recuadro en el que esté dibujado el objeto, por ejemplo, la imágen de un libro y a la derecha un "x5" indicando que tienes 5 libros. Es algo muy sencillo lo que busco, y es que soy muy malo para GML :'(
Gracias :-[
asumiendo que sabes como funcionan las variables, y que ya tienes creada la variable de los objetos, que contienen el valor de la cantidad de unidades.
Bueno, un código no muy eficiente y global pero si necesitas algo más específico nos cuentas más detalle y yo o alguien más te ayudará :), en nuestroe ejemplo cantidadblabla es la variable que contiene la cantidad de objeto según el que sea.
if cantidadlibros > 0
{draw_text(x,y, cantidadlibros) //Esto escribe la variable
(draw_sprite(x+10,y, spr_libro) //Esto dibuja el sprite del libro
}
El sprite tiene el nombre hipotético de spr_libro, te recomiendo usar siempre el prefijo spr_ o s_ para los sprites, verás que a la larga será más cómodo para distinguirlo de objetos u otros elementos.
Para los demás objetos del inventario como las gemas como dices sería lo mismo básicamente, con el nombre de la variable cambiado por supuesto (cantidadgemas) y recuerda que también debes cambiar el valor x e y de los draws, porque si no el valor y el dibujo de las gemas quedaría en el mismo lugar de el de los libros!
draw_sprite(objLibro,-1,32,32)
draw_text(32+(sprite_width+4),32,": X"+string(var_libros))
Donde 32 es X, el segundo 32 Y.
var_libros es para hacer referencia a la variable que declaraste para almacenar cuantos se poseen.
Cita de: subsiguiente en Abril 06, 2015, 03:17:06 AM
asumiendo que sabes como funcionan las variables, y que ya tienes creada la variable de los objetos, que contienen el valor de la cantidad de unidades.
Bueno, un código no muy eficiente y global pero si necesitas algo más específico nos cuentas más detalle y yo o alguien más te ayudará :), en nuestroe ejemplo cantidadblabla es la variable que contiene la cantidad de objeto según el que sea.
if cantidadlibros > 0
{draw_text(x,y, cantidadlibros) //Esto escribe la variable
(draw_sprite(x+10,y, spr_libro) //Esto dibuja el sprite del libro
}
El sprite tiene el nombre hipotético de spr_libro, te recomiendo usar siempre el prefijo spr_ o s_ para los sprites, verás que a la larga será más cómodo para distinguirlo de objetos u otros elementos.
Para los demás objetos del inventario como las gemas como dices sería lo mismo básicamente, con el nombre de la variable cambiado por supuesto (cantidadgemas) y recuerda que también debes cambiar el valor x e y de los draws, porque si no el valor y el dibujo de las gemas quedaría en el mismo lugar de el de los libros!
He seguido tu código, muchas gracias. El problema es este :P
(http://imagizer.imageshack.us/v2/xq90/661/3wW6SU.png) (https://imageshack.com/i/id3wW6SUp)
Tenes un "(" de más, al principio de la línea 3.
No se burlen de mis enormes conocimientos sobrehumanos :'(
Revisa el manual por la funcion draw_sprite esta mal tambien.
solo vete a pestaña control y hay selecciona la opcion draw variable que es la ultima que esta juntos las acciones variables, solo introduces el nombre tu variable y donde quieres que se dibuje si quieres que se dibuje con el objeto solo pon x en x y "y en y"
¡Muchas gracias a todos! Solucioné mi ridículo problema y aprendí un poco de GML :)