Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: gabbers en Marzo 23, 2010, 12:28:20 PM

Título: Menu de items {RESUELTO}
Publicado por: gabbers en Marzo 23, 2010, 12:28:20 PM
Hola nuevamente hermanos, una preguntita que puede parecer simple pero me trae amargadillo porque no doy con el codigo

?como puedo hacer por ejemplo que cuando coja con mi personaje una llave, esta aparezca en el menu de los items?

no doy con la orden en draw que lleva acabo esta tarea

Mil gracias anticipadas
Título: Re: Menu de items
Publicado por: soccer2008 en Marzo 23, 2010, 02:07:53 PM
Espero q te haya entendido bien, ver? q puedo hacer x ti XD XD XD

http://www.mediafire.com/?vw1lzzkqjje (http://www.mediafire.com/?vw1lzzkqjje)
Título: Re: Menu de items
Publicado por: gabbers en Marzo 23, 2010, 03:14:55 PM
te agradezco tu estimada ayuda soccer, pero no es eso exactamente, veras, en tu ejemplo, el item esta dibujado en el menu, y va sumando segun va cojiendo los numeros de al lado, bien, yo quiero que en ese menu no haya dibujo del item, y que cuando lo coja, aparezca su dibujo y no ningun numero

aqui una imagen haber si me entendeis mejor

(http://img144.imageshack.us/img144/6922/juegogabber.jpg)


Lo que quiero es que cuando mi personaje coja esa llave, esta aparezca en el cuadrado)


Muchas gracias anticipadas nuevamente
Título: Re: Menu de items
Publicado por: soccer2008 en Marzo 23, 2010, 03:31:30 PM
mmmm, ok man voy hacer otro ejemplo, x cierto tu juego est? quedando muy bueno XD XD XD

Una pregunta m?s, si cojo el objeto este desaparesca y aparesca en el men? o permanesca con el protagonista y aparesca en el men????



Aqui te dejo otro ejemplo, espero q te sirva, con la tecla a arrojas el objeto XD XD XD
Título: Re: Menu de items
Publicado por: gabbers en Marzo 23, 2010, 04:00:03 PM
jajaj soccers eres un makina, jeje ese ejemplo se acerca un poco mas, lo unico que yo el menu de arriba lo tengo echo con draw, con lo cual al cojer el objeto, tendria qeu dibujarlo, no me serviria situar el objeto, pues no se veria, o se veria si le pongo un !depth=-lo que sea??"

PD, no me hace falta que permanezca con el protagonista, pues yo lo que tengo son objetos de puertas cerradas, con lo que al cojer la llave, cambiaria el objeto de "puerta_cerrada" a "puerta_abierta"
Lo que mas me trae de cabeza es eso, poder dibujarlo arriba justo al cojerlo

Y gracias, estaba cansado ya de los tipicos juegos, y digo voy a ahcer un juego tipo escape room, pero en 2d xD
Título: Re: Menu de items
Publicado por: deathmetal en Marzo 23, 2010, 05:01:03 PM
si tu inventario consiste nomas en dos slots se me ocurre esto:

ev create de un objeto controlador

global.slot1=0
global.slot2=0

en collision con el item pones esto:

if global.slot1=0{ global.slot1=sprllave}else{
if global.slot2=0{global.slot2=sprllave}else{
show_message("Tu inventario esta lleno")}}

creo que eso serviria prueba si no puse mal los corchetes

ahora en draw donde dibujas los cuadritos usa un:

if global.slot1=0=false{draw_sprite(global.slot1,-1,x,y)} y lo mismo con el slot2 espero te sirva

si tu inventario tiene mass slots tendras que usar arrays y ciclos para comprobar que no se repita, pero es mas complejo
Título: Re: Menu de items
Publicado por: gabbers en Marzo 23, 2010, 07:20:29 PM
nada, muchas gracias por la ayuda, pero no doy con la tecla, si teneis posibilidad de hacerme un ejemplo estaria muy agradecido,no creo que se haga de una manera tan complicada el decirle en gml "si este objeto no est?,dibuja este otro aqui)haber si podeis, si no, igualmente, un saludo
Título: Re: Menu de items
Publicado por: deathmetal en Marzo 24, 2010, 05:16:14 PM
pero que no has podido hacer solo tienes que pegar los codigos en los eventos que te dije y cambiar als variables por las que tu uses para adaptarlo a tu juego
Título: Re: Menu de items
Publicado por: soccer2008 en Marzo 24, 2010, 07:13:54 PM
Usa draw_sprite para dibujar las imagenes, si tengo tiempo te hago un ejemplo XD XD XD
Título: Re: Menu de items
Publicado por: gabbers en Marzo 24, 2010, 07:17:11 PM
Veras explico con mas detenimiento:
tengo el objeto "barra", en el que tengo echo el menu superior del juego, que se ve en la foto mas arriba
y bueno en draw, tengo puesto esto:

depth = -20;

draw_set_color(c_black);
draw_rectangle(view_xview,view_yview,view_xview+view_wview,view_yview+60,false);

draw_sprite(spr_barra_vida,vida,view_xview+108,view_yview+35);

draw_sprite(barra_vida,1,view_xview+110,view_yview+40)

draw_sprite(cara,1,view_xview+22,view_yview+29)

draw_sprite(cuadro_items,1,view_xview+450,view_yview+35)

--------------------------------------------------------------------------

Por otro lado tengo el objeto "llave01" (sin comillas) que es el objeto qeu quiero qeu coja mi personaje, y por otro lado tengo el sprite "fotollave01" que es una foto mas detallada de la llave.

pues lo qeu no consigo es qeu mi personaje al cojer el objeto "llave01" haga qeu la foto que tengo en sprite "fotollave01" salga en el cuadro del menu.

haber si lo consigo con vuestra ayuda porque el juego me esta quedano de pm


mil gracias por interesarte nuevamente
Título: Re: Menu de items
Publicado por: soccer2008 en Marzo 24, 2010, 07:27:27 PM
Te doy una idea:


En el evento create pon esto:


Foto=false;

En el evento draw:

muestra la foto en draw, pero condiciona:

if(foto==true){mostrar foto;}



De todas formas voy a tratar de hacer un ejemplo, cuando lo termine edito XD XD
Título: Re: Menu de items
Publicado por: Wadk en Marzo 24, 2010, 08:16:50 PM
Te recomiendo que hagas lo que dijo deathmetal.
As?:
Código (evento create del personaje) [Seleccionar]
global.inventario[0]=-1;
global.inventario[1]=-1;

Código (evento colisi?n con la llave) [Seleccionar]
if(global.inventario[0]=-1){
  global.inventario[0]=fotollave01;
  with(other){instance_destroy();}
}else
if(global.inventario[1]=-1){
  global.inventario[1]=fotollave01;
  with(other){instance_destroy();}
}

Y agreg? al final de draw del inventario:
if!(global.inventario[0]=-1){
  draw_sprite(global.inventario[0],0,view_xview+450,view_yview+35);
}
if!(global.inventario[1]=-1){
  draw_sprite(global.inventario[1],0,view_xview+470,view_yview+35);
}

y modific? las coordenadas hasta que quede bien.
Título: Re: Menu de items
Publicado por: gabbers en Marzo 24, 2010, 08:36:51 PM
Cita de: Wadk en Marzo 24, 2010, 08:16:50 PM
Te recomiendo que hagas lo que dijo deathmetal.
As?:
Código (evento create del personaje) [Seleccionar]
global.inventario[0]=-1;
global.inventario[1]=-1;

Código (evento colisi?n con la llave) [Seleccionar]
if(global.inventario[0]=-1){
  global.inventario[0]=fotollave01;
  with(other){instance_destroy();}
}else
if(global.inventario[1]=-1){
  global.inventario[1]=fotollave01;
  with(other){instance_destroy();}
}

Y agreg? al final de draw del inventario:
if!(global.inventario[0]=-1){
  draw_sprite(global.inventario[0],0,view_xview+450,view_yview+35);
}
if!(global.inventario[1]=-1){
  draw_sprite(global.inventario[1],0,view_xview+470,view_yview+35);
}

y modific? las coordenadas hasta que quede bien.


Ok asi me salio perfecto... pero para borrarlo por ejemplo cuando colisione con puerta01? que tendria que poner?
Título: Re: Menu de items
Publicado por: soccer2008 en Marzo 24, 2010, 09:00:50 PM
colision puerta: with(llave){instance_destroy();}
Título: Re: Menu de items
Publicado por: gabbers en Marzo 24, 2010, 10:55:08 PM
Mil gracias, hay cosas que me resultan ahora que las veo sencillisimas, pero cuando llevo 5 horas delante del gm con variables, codigos, ect etc, llega un momento que me atoro, y no veo lo mas evidente, nuevamente a todos mil gracias
Título: Re: Menu de items
Publicado por: Wadk en Marzo 25, 2010, 12:26:21 AM
?Funcion? lo que puso soccer? Porque si usaste los c?digos que puse no deber?a haber funcionado... ser?a as?:
Código (colisi?n con puerta) [Seleccionar]
if(global.inventario[0]=fotollave01){
global.inventario[0]=-1;
}else
if(global.inventario[1]=fotollave01){
global.inventario[1]=-1;
}else{exit;}
//Ac? pon?s el c?digo para que se abra la puerta, con instance_destroy o si es la puerta del final del nivel, simplemente el c?digo para pasar al nivel siguiente.
Título: Re: Menu de items
Publicado por: gabbers en Marzo 25, 2010, 02:56:27 AM
Cita de: Wadk en Marzo 25, 2010, 12:26:21 AM
?Funcion? lo que puso soccer? Porque si usaste los c?digos que puse no deber?a haber funcionado... ser?a as?:


Bueno , no le he llegado a probar, pero no se si un destroy instance (ahora que caigo) funciona igual, cuando se trata de un draw, y para colmo un draw de una foto que no esta ni como objeto, ya que como dije la foto que aparece en menu es solo representativa y mas vistosa que el objeto qeu se coje en el juego, ma?ana pruebo ambos codigos y ya informo, de todas formas a los dos, mil gracias nuevamente  
Título: Re: Menu de items
Publicado por: soccer2008 en Marzo 25, 2010, 06:17:14 AM
O bien usa una variable q controle la aparici?n de dicho objeto XD XD XD
Título: Re: Menu de items
Publicado por: deathmetal en Marzo 25, 2010, 06:15:02 PM
Cita de: gabbers en Marzo 24, 2010, 07:17:11 PM
Veras explico con mas detenimiento:
tengo el objeto "barra", en el que tengo echo el menu superior del juego, que se ve en la foto mas arriba

Por otro lado tengo el objeto "llave01" (sin comillas) que es el objeto qeu quiero qeu coja mi personaje, y por otro lado tengo el sprite "fotollave01" que es una foto mas detallada de la llave.

pues lo qeu no consigo es qeu mi personaje al cojer el objeto "llave01" haga qeu la foto que tengo en sprite "fotollave01" salga en el cuadro del menu.

haber si lo consigo con vuestra ayuda porque el juego me esta quedano de pm


pero veo que tienes dos rectangulos el codigo que te di es para dibujarlo en el primero si esta vacio si no dibujarlo en el segundo..

mira:

si se te hace complicado y lo que te dicen los demas se te hace mas accesible no me hagas caso, intentare minimizarlo al maximo para que no te compliques

evento create del objeto que dibuje tus cuadritos:

global.slot1=0

evento collision del personaje con la llave

if global.slot1=0{global.slot1=sprdelallavemasdetallada}

evento draw del objeto que dibuja el inventario

if global.slot1=0=false{draw_sprite(slot1,-1,x,y)}

con esto puedes dibujar realmente cualquier item no solo la llave solo tienes que cambiar el codigo de collision el global.slot1=sprdelitem

debes asegurarte que el codigo que te di de draw debe estar en la ultima linea, despues de todo lo que dibujes si no, se dibujara abajo y no se vera :)
Título: Re: Menu de items
Publicado por: gabbers en Marzo 25, 2010, 07:03:21 PM
Millones de gracias a todos, me quedo perfecto, ya ire probando mas adelante lo de cojer mas items al mismo tiempo, por ahora con 1 o 2 me sobra...para ir soltandome en los codigos y toda esta parafernalia que tanto me esta gustando

Mil gracias a todos nuevamente
Título: Re: Menu de items
Publicado por: deathmetal en Marzo 26, 2010, 03:01:07 AM
espero haber sido de ayuda, si no... ya despues me tocara xD saludos y echale ganas vale la pena
Título: Re: Menu de items
Publicado por: gabbers en Marzo 26, 2010, 12:24:39 PM
Mil gracias por los animos, claro qeu seguire adelante, con compa?eros como ustedes, uno no se desanima, pues sin ustedes, uno se llega aburrir por no dar con la clave, y lo deja, pero asi, da gusto

un abrazo y gracias nuevamente