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
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)
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
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
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
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
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
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
Te recomiendo que hagas lo que dijo deathmetal.
As?:
global.inventario[0]=-1;
global.inventario[1]=-1;
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.
Cita de: Wadk en Marzo 24, 2010, 08:16:50 PM
Te recomiendo que hagas lo que dijo deathmetal.
As?:
global.inventario[0]=-1;
global.inventario[1]=-1;
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();}
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
?Funcion? lo que puso soccer? Porque si usaste los c?digos que puse no deber?a haber funcionado... ser?a as?:
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.
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
O bien usa una variable q controle la aparici?n de dicho objeto XD XD XD
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 :)
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
espero haber sido de ayuda, si no... ya despues me tocara xD saludos y echale ganas vale la pena
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