Marzo 23, 2010, 12:28:20 PM Ultima modificación: Marzo 27, 2010, 03:43:07 AM por gabbers
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

#1 Marzo 23, 2010, 02:07:53 PM Ultima modificación: Marzo 23, 2010, 02:40:25 PM por soccer2008
Espero q te haya entendido bien, ver? q puedo hacer x ti XD XD XD

http://www.mediafire.com/?vw1lzzkqjje
Un foro donde hay de todo: http://fileceru.foroactivo.net (se necesitan moderadores para el foro)

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




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


Muchas gracias anticipadas nuevamente

#3 Marzo 23, 2010, 03:31:30 PM Ultima modificación: Marzo 23, 2010, 03:52:17 PM por soccer2008
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
Un foro donde hay de todo: http://fileceru.foroactivo.net (se necesitan moderadores para el foro)

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

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

#6 Marzo 23, 2010, 07:20:29 PM Ultima modificación: Marzo 23, 2010, 07:26:00 PM por gabbers
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

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

Usa draw_sprite para dibujar las imagenes, si tengo tiempo te hago un ejemplo XD XD XD
Un foro donde hay de todo: http://fileceru.foroactivo.net (se necesitan moderadores para el foro)

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

#10 Marzo 24, 2010, 07:27:27 PM Ultima modificación: Marzo 24, 2010, 08:02:34 PM por soccer2008
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
Un foro donde hay de todo: http://fileceru.foroactivo.net (se necesitan moderadores para el foro)

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.
Vim.

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?

colision puerta: with(llave){instance_destroy();}
Un foro donde hay de todo: http://fileceru.foroactivo.net (se necesitan moderadores para el foro)

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