Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Scimjara en Noviembre 20, 2012, 10:45:08 PM

Título: Sistema de poderes
Publicado por: Scimjara en Noviembre 20, 2012, 10:45:08 PM
Hola a todos. Estoy programando un juego que tendría lo que viene siendo un sistema en el que tu apretas a una tecla y hace un poder distinto. Tengo pensado realizar estos poderes con particulas.

Ahora, me preguntaba cual es la forma más correcta de escribir dicho codigo.

¿Seria buena idea hacer un script para cada poder? Haciendo un script general,  y separar cada poder en un script distinto con cada una de sus peculiaridades, se llamaria desde cada uno al script general y luego cada uno haría sus cosas. Y luego haría que a cada step con if se vea si se pulsaron las teclas para ejecutar cada poder y ejecute dicho script.. así lo tendría bien separado y a mano.

¿es buena idea o sería mejor trabajar de otra forma? Saludos.
Título: Re:Sistema de poderes
Publicado por: Marron121 en Noviembre 20, 2012, 11:43:31 PM
Yo creo que tu idea es muy buenapuedes usar triggers para "poner" el if y así te ahorras bastante lío :)
Título: Re:Sistema de poderes
Publicado por: Scimjara en Noviembre 21, 2012, 12:03:08 AM
Gracias Marron por la respuesta, preguntaba porque acabo de empezar hace un par de dias y todavia no conozco mucho GML, tampoco sé lo que son los triggers pero enseguida me pongo a leer, que esto me sirve mucho para aprender :)

Saludos!

Edito: acabo de leer que los triggers están obsoletos, uso GM:S, así que de momento los iré haciendo como puse arriba, a no ser que me corrijáis algo, de todos modos gracias Marron!
Título: Re:Sistema de poderes
Publicado por: the_blade en Noviembre 21, 2012, 12:17:13 AM
hola Scimjara, yo creo que lo mejor por experiencia es usar scripts, deberias usar un script por ejemplo Sc_VarPoderes, en dicho script definies por ejemplo la variable global.poderes=0; la usas para determinar el tipo de poder, y demas variables de configuracion de los poderes, luego por ejemplo en otro script Sc_CreaPoder, pones:

argument0=global.poderes
if argument0=0{
codigo de rayos
}

if argument0=1{
codigo de fuego
}



y luego en el evento create del jugador ponemos:

script_execute(Sc_VarPoderes); //carga las variables para poder utilizarlas en cualquier momento



en el step del jugador, podrias poner:

if keyboard_check_pressed(vk_numpad1){
global.poderes=0; //establecemos el poder numero 1
}
if keyboard_check_pressed(vk_numpad2){
global.poderes=0; //establecemos el poder numero 2
}


luego en el evento de atacke por ejemplo cuando pulsas Enter:

script_execute(Sc_CreaPoder,global.poderes)
//ejecuta el poder seleccionado
}



espero serte de ayuda y cualquier duda avisame. Salu2.-
Título: Re:Sistema de poderes
Publicado por: Mgbu en Noviembre 21, 2012, 12:20:27 AM
Esperen, porque si recien empieza no sabe escribir código, la idea es que en el evento de la tecla de atacar actue depende del poder activo con if, o sea:

Test variable poder = 0
*Hacer tal cosa*

Test variable poder = 1
*Hacer tal otra cosa*
Título: Re:Sistema de poderes
Publicado por: Scimjara en Noviembre 21, 2012, 12:45:26 AM
Muchas gracias, me lo habeis explicado genial. No no, tengo experiencia con programación y me he mirado directamente el manual para desde el primer dia aprender con código. Antes de mirar vuestra respuesta ya logré crear las particulas, lo que pasa es que queria crear un pequeño haz de luz que actue como un escudo fino y resulta que he hecho una cascada de luz que me tapa el personaje entero pero solamente es cuestión de aprender xDD por lo menos responde a las teclas.

Lo que quería era saber de que forma trabajar y gracias por el ejemplo que me has puesto the_blade, me sirve para aprender diferentes modos de ejecutar scripts, puesto que quizá el que yo había pensado no fuera el más correcto o el más rápido, quiero optimizar bien los recursos!!

Un saludo!
Título: Re:Sistema de poderes
Publicado por: the_blade en Noviembre 21, 2012, 01:01:56 AM
de nada compañero espero haberme explicado bien y cualquier duda me avisas. si quieres puedes visitar mi blog del  sector desarrolladoreshttp://www.comunidadgm.org/index.php?topic=17650.0 (http://www.comunidadgm.org/index.php?topic=17650.0) , ahy se halla mi juego en desarrollo. jaja. salu2.-