Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: fatalfury en Febrero 15, 2013, 10:11:23 PM

Título: ¿Como llamar un proceso?
Publicado por: fatalfury en Febrero 15, 2013, 10:11:23 PM
Buenas tardes muchachos

Tengo la cabeza a explotar y necesito su ayuda.

Miren, hay alguna forma (en GML) de que a todo un proceso ponerle un nombre y despues cuando quiera llamar el proceso se ejecute de nuevo. algo asi:


nombredelproceso=                //este seria el nombre con el que se llama despues
{
llamar a pepito y decirle hola
}

si tengo un telefono pues

ejecutar nombredelproceso

............................................................
¿me hago entender?

si de algo sirve lo que quiero hacer es que hacer una variable con un valor random (rep=rendom(2) asi le puse para que escogiera un numero del 0 al 2 al azar)

y dependiendo el numero que salga se ejecute un sprite diferente, para eso estoy usando un SWITCH

algo asi

swith rep

case 0
sprite 1
case 1
sprite 2

y asi....

que cada vez que se oprima el boton se haga ese proceso me entienden?


porfavor ayuda y se que puedo ontar con ustedes y les doy muchas gracias muchachos.
Título: Re:¿Como llamar un proceso?
Publicado por: Iros en Febrero 16, 2013, 12:11:04 AM
Usá las funciones de Scripts de GM. Para crear un nuevo script le das clic derecho a script en el menú izquierdo, Create Script y ahí le asignas un nombre en "Name" y abajo pones tu código GML como vos querrás. Para poder usarlo con elementos externos usá los argument[0...].

Un ejemplo básico:

[gml]
//Name: DrawText(x,y,"texto",color);
draw_set_color(argument3);
draw_text(argument0,argument1,argument2);
[/gml]

Y así de fácil es utilizar los scripts.
Título: Re:¿Como llamar un proceso?
Publicado por: penumbra en Febrero 16, 2013, 12:29:47 AM
Lo que tu quieres hacer es usar un script. Si quieres crear un script, haces click en el botón CREATE A SCRIPT, se abre el editor de script, donde escribes el código. Fíjate que en la parte superior del editor, hay un campo para ponerle un nombre a tu script.

Imagina que haz creado tu script, y le pusiste llamar_a_pepito

Cuando quieras usar tu script, lo llamas así
llamar_a_pepito()

esto hace que se ejecute el código de tu script. Pero lo bonito de los scripts es que le puedes pasar argumentos al script. Es decir, que al momento de llamarlo, puedes proporcionarle información adicional para que procese esa información como tú quieras. Por ejemplo, esto

llamar_a_mi amigo(51245987)

Es decir, le estás pasando información al script (el número de algún amigo). El script hará con ese número (puede ser tambien una variable) lo que tú hayas dispuesto en el código. A ese número entre paréntesis, se le llama argumento. Le puedes pasar hasta 16 argumentos a un script.

Dentro del script (el código del script), tú no te refieres al número de tu amigo como "51245987", ya que el script lo puedes usar para llamarle a quien quieras, dentro del script, a ese argumento lo llamasargument0. Si le pasas tres argumentos a tu script, te referirás a ellos como argument0, argument1 y argument2

Espero que se entienda  ;D

Título: Re:¿Como llamar un proceso?
Publicado por: elviskelley en Febrero 16, 2013, 01:39:10 AM
Te lo paso de las palabras que has usado a GML
nombredelproceso=                //este seria el nombre con el que se llama despues
{
llamar a pepito y decirle hola
}

si tengo un telefono pues

ejecutar nombredelproceso

if nombredelproceso=0
{
with(pepito) {show_message("Hola Pepito")
}

if (tengo_Un_Telefono=true) then
{
nombredelproceso=0
}
else
{nombredelproceso=1}


Busca en el Manual de esta comunidadgm Sentencias y te lees las if, do, while, repeat, for.
Aca el link al manual (http://www.comunidadgm.org/manual_GM/Estructura_general_del_GML.htm)