:) Muy buenas a todos!!
Bueno mi problema es bien sencillo, pero no se me ocurre una solución.
La idea es que al coger un objeto (llave) pueda usarlo para cambiar otro objeto (cofre). Hasta ahora lo que hago es que al coger la llave (colisión con el objeto) el cofre cambie de sprite, de cerrado a abierto. Pero quiero ir un paso más allá y que pulsando un botón este cofre cambie de sprite una vez que tenga la llave.
Muchas gracias :)
---------------------------------------------------SOLUCIÓN--------------------------------------------------------------------------------------------
La solución la pongo con el ejemplo de mi caso: Quiero coger una llave y que esta al colisionar con un cofre se abra y me salga una manzana, cambiando de cofre abierto a cofre cerrado. La manzana me da puntos.
Al colisionar con la llave:
Llave=true;
with( obj_llave ){
instance_destroy();
}
Al colisionar con el cofre:
if (Llave > 0)
{
instance_create ( 256, 128, obj_manzana );
with( obj_cofrecerrado ){
instance_change ( obj_cofreabierto, 0 );
}
Llave = 0;
}
Al colisionar con la manzana:
with( obj_manzana ){
instance_destroy();
}
score = 50
Gracias a todos por vuestras aportaciones y opiniones.
Podes crear una variable en el jugador llamada llave=false y cuando agarre la llave pase a llave=true . Cuando pulse el boton de abrir el cofre pones en la tecla if llave=true {codigo para abrir el cofre} Es lo mismo que hiciste para cambiar el sprite pero ahora cambias el valor de una variable.
Cita de: 3dgeminis en Junio 14, 2014, 04:45:53 PM
Podes crear una variable en el jugador llamada llave=false y cuando agarre la llave pase a llave=true . Cuando pulse el boton de abrir el cofre pones en la tecla if llave=true {codigo para abrir el cofre} Es lo mismo que hiciste para cambiar el sprite pero ahora cambias el valor de una variable.
Gracias!! pero la cosa es.. cómo creo una variable? Lo que pongo es lo siguiente:
En el objeto del personaje, añado evento de colisión con la llave. Ahora le pongo Set Variable "llave" to 0 y luego DestroyInstance. Supongo que tendré que hacer una variable que se llame ''lave'' pero cómo? Otra duda es cómo miro el código del que todo el mundo habla? If < = 100 }{ esas cosas xd
Sé que puedes añadir la acción de Execute Code.. perohasta ahí llego
Gracias
Te agachas extiendes tu mano la colocas sobre el objecto y lo presionas con fuerza. Luego lo observas determinas su potencial y lo usas adecuadamente.
Te hice un ejemplo que muestra una forma de hacerlo. Lo siento pero no se usar los iconos asi que el ejemplo esta echo con codigo :-[
elviskelley que quisiste decir con esto :
"Te agachas extiendes tu mano la colocas sobre el objecto y lo presionas con fuerza. Luego lo observas determinas su potencial y lo usas adecuadamente."
Cita de: 3dgeminis en Junio 19, 2014, 04:31:26 AM
elviskelley que quisiste decir con esto :
"Te agachas extiendes tu mano la colocas sobre el objecto y lo presionas con fuerza. Luego lo observas determinas su potencial y lo usas adecuadamente."
Es claro, son las instrucciones para recoger un objeto y usarlo :D
Yo soy de los que piensa que si no se va a aportar nada es mejor no contestar nada.
Es cierto que hay compañeros que hacen preguntas que vaya tela; no me refiero al contenido técnico de la pregunta en sí sino a las formas y desgana con la que la hacen. Faltas de ortografía, escribiendo en plan sms, primeras letras de cada palabra en mayúsculas, sin explicar ni decir que es lo que han intentado hacer primero, etc, etc pero de ahí a contestar otra tontería ...
Veo mejor y más sincero, contestar por ejemplo, o me pones un ejemplo de lo que has intentado ya sea con el código o subiendo un fichero o no entiendo y no puedo ayudarte. O si se escribe mal comentarlo igualmente. De lo contrario todo se degenera y se va a peor y además la gente que tiene ganas de ayudar la pierde.
Sinceramente, llevo poco pero me está empezando a parecer que esto es una viña sin amo. Por poner un ejemplo, he realizado varias propuestas sobre el foro y ningún moderador, admin me ha contestado aunque sea para decir: " Esto lleva mucho tiempo de esta forma y no lo vamos a cambiar ...", " O parece interesante la propuesta, le vamos a echar un vistazo", que sé yo.
Saludos
Bueno... PEro no te enojes.... Recoger objectos es facil y usarlos mas facil aun te dire como:
Creo el object Llave.
En el event collision de objLlave con el jugador colocas esto.
instance_destroy()
como puedes ver solo se destruye.
Ahora en el object jugador llamemoslo objJugador.
event create
Llave=false; //declaro la variable que me dice si tengo o no la Llave.
en el event de collision del objJugador con objLlave.
Llave=true; //activo la variable.
Ahora para algo estetico quiero que se vea la Llae en la mano.
Event draw.
if (Llave) then {draw_sprite(sprLlave,-1,x+(sprite_widht-4),y+8); }
Asi se vera la llave. Ahora para usarlo en la puerta.
En el event de Collision de la puerta con el jugador.
if (objJugador.Llave=true) then {room_goto.....}
Asi la puerta verifica si tenes la llave.
Cita de: elviskelley en Junio 19, 2014, 04:41:13 PM
Bueno... PEro no te enojes.... Recoger objectos es facil y usarlos mas facil aun te dire como:
Creo el object Llave.
En el event collision de objLlave con el jugador colocas esto.
instance_destroy()
como puedes ver solo se destruye.
Ahora en el object jugador llamemoslo objJugador.
event create
Llave=false; //declaro la variable que me dice si tengo o no la Llave.
en el event de collision del objJugador con objLlave.
Llave=true; //activo la variable.
Ahora para algo estetico quiero que se vea la Llae en la mano.
Event draw.
if (Llave) then {draw_sprite(sprLlave,-1,x+(sprite_widht-4),y+8); }
Asi se vera la llave. Ahora para usarlo en la puerta.
En el event de Collision de la puerta con el jugador.
if (objJugador.Llave=true) then {room_goto.....}
Asi la puerta verifica si tenes la llave.
Gracias :D pero todavía no entiendo eso de Event create - llave=False. Podrías decirme qué icono te refieres?
Ose, lo que entiendo es lo siguiente: Add Event - Create - (aquí poner lo de la varible, supongo) Set variable. Pero no sé exactamente qué poner. Por ejemplo, si fuera como las balas de un arma, la variable sería Set Variable ammo to 0. ¿Sería lo mismo? Cómo pongo lo que tú dices, Llave=False? podrías decirme el icono?
Gracias a todos por su tiempo y paciencia, pero soy muy novato en esto.
mira en la pestaña control, hay una hoja parece un documento, alli coliocas las variables (codigo) esa hoja tiene forma de D&D pero cuando das click en ella se abre un documento para escribir tus codigos. si dejas el mouse sobre la hoja dice algo asi; "Execute Code" ahi se colocan los codigos que es un lenguaje de programacion del game maker llamado GML.
Quieres mas info del GML ve a manuales ahi veras todos los codigos, tambien en descargas podras ver varios ejemplos de juegos que seguro te daran una gran idea de como hacer las cosas. En la seccion Articulos hay muchos tutoriales, manuales. que de seguro despejaran muchas de tus dudas.