[Tutorial] Introducción Al GML - Taringa!

download [Tutorial] Introducción Al GML - Taringa!

of 8

Transcript of [Tutorial] Introducción Al GML - Taringa!

  • 5/26/2018 [Tutorial] Introducci n Al GML - Taringa!

    1/8

    Compartido por

    felixtec2000[Juego] Hora de Aventura Ep

    kaonstantineayuda con las fuentes

    Rionhart01[Juego] Megam an Crossover

    Rionhart01[Juego] Megam an Crossover

    juanbustos28[Juego] Megaman Crossov

    juanbustos28[Ayuda] pantalla, spr ites co

    Dencarks[Ayuda] pantalla, spr ites como

    gats1212Angry birds

    pitow _gamesAyuda.

    ChinglesAyuda.

    Melandrio_The_Master

    http://www.taringa.net/Melandrio_The_Masterhttp://www.taringa.net/comunidades/game-maker/8606275/Ayuda.html#comment-568084http://www.taringa.net/Chingleshttp://www.taringa.net/comunidades/game-maker/8606275/Ayuda.html#comment-568092http://www.taringa.net/pitow_gameshttp://www.taringa.net/comunidades/game-maker/8606041/Angry-birds.html#comment-532206http://www.taringa.net/gats1212http://www.taringa.net/comunidades/game-maker/8607445/Ayuda-pantalla-sprites-como-soluciono-esto.html#comment-548686http://www.taringa.net/Dencarkshttp://www.taringa.net/comunidades/game-maker/8607445/Ayuda-pantalla-sprites-como-soluciono-esto.html#comment-548705http://www.taringa.net/juanbustos28http://www.taringa.net/comunidades/game-maker/8604314/Juego-Megaman-Crossover-Beta-1-0-5.html#comment-533835http://www.taringa.net/juanbustos28http://www.taringa.net/comunidades/game-maker/8604314/Juego-Megaman-Crossover-Beta-1-0-5.html#comment-533848http://www.taringa.net/Rionhart01http://www.taringa.net/comunidades/game-maker/8604314/Juego-Megaman-Crossover-Beta-1-0-5.html#comment-533849http://www.taringa.net/Rionhart01http://www.taringa.net/comunidades/game-maker/8608353/Ayuda-con-las-fuentes.html#comment-523200http://www.taringa.net/kaonstantinehttp://www.taringa.net/comunidades/game-maker/8607513/Juego-Hora-de-Aventura-Episodio-3-Demo.html#comment-552024http://www.taringa.net/felixtec2000
  • 5/26/2018 [Tutorial] Introducci n Al GML - Taringa!

    2/8

    o igual a". Cada vez que utilicen un = con otro signo, recuerden que el signo igual ocupa el segundo

    lugar porque si no tira errores. Adems de utilizar una variable, se pueden utilizar otros comandos. Por

    ejemplo:

    if (distance_to_object(yo) == 10)

    hacer esto

    Se puede entender ese cdigo como: Si la distancia al objeto "yo" es igual a 10 (Eso es 10 pxeles por

    cierto), se desencadenar el "hacer esto". Para este comando, es probable que deseen utilizar > o < en

    lugar del =, ya que en la mayora de los casos un objeto nunca est ubicado a una distancia precisa de

    otro.

    Este comando se utiliza a menudo en inteligencias artificiales (AI por sus siglas en ingls) de enemigospara detectar a qu distancia del jugador esta el enemigo o la distancia de un objeto determinado.

    if (distance_to_object(yo) > 50 && Timer > 1)

    hacer esto

    Ok, este cdigo es un poco ms difcil de entender pero fcil de usar. "&&" significa "y". As que este

    cdigo significa que, si el objeto "yo" esta a ms de 50 pxeles de distancia de este objeto y la variable

    de este objeto "Timer" es mayor que 1, se ejecutar la parte "hacer esto" del cdigo. Recuerden que

    no har nada a menos que cumpla con ambos requisitos. Ustedes pueden agregar todos los requisitos

    que quieran, con solo colocar ms &&'s all.

    if (Timer > 1 && < 10)

    hacer esto

    Puedes ver algo ma lo en e l cdigo?

    No? Pues ests equivocado, lo que tens en frente es uno de los errores ms comnes para los

    novatos. Cuando se utiliza &&, es un poco como el uso de "if", ya que se debe repetir el comando o

    variable como si fuera independiente. Si e jecutan el cdigo anterior en Game Maker, este va a tirar un

    error, porque va a razonar: "si Timer es mayor a 1 y algo es menor a 10... Esper, cuanto vale algo?...

    Ni idea, mando error".

    if (Timer > 1 && Timer < 10)hacer esto

    El cdigo mencionado es muy til, ya que slo ocurrir "hacer esto" cuando la variable est dentro del

    rango de 2 a 9. Esta es la versin correcta del cdigo que dije que estaba equivocado anteriormente.

    if (Timer >= 1 && Timer

  • 5/26/2018 [Tutorial] Introducci n Al GML - Taringa!

    3/8

    Ese cdigo es el mismo que e l anterior. Reemplazando el primer = por un "!" funciona exactamente

    como poner "not". El uso de este y && puede hacer tus cdigos ver ms complicados. Adems, tengan

    en cuenta que las funciones (casi ninguna, pero si las variables) necesitan los ! "antes", en lugar de

    "despus".

    Una manera fcil de saber cundo es "antes" o "despus" es si tiene signos = o no. Si lo hace, se

    reemplaza e l primer signo =, en caso contrario se coloca luego del "if" o luego del "&&", dependiendo

    del lugar en que est.

    if (Timer == 1 || Timer == 2)

    hacer esto

    Poner "||" en el cdigo es como poner un "o". Este cdigo se activar si Timer es igual a 1 o igual a 2.

    Ustedes tambin pueden utilizar "or" si prefieren no utilizar smbolos.

    Ahora vamos a profundizar los cdigos como antes, pero en la parte del "hacer esto".

    if (x == 255)

    x = 100;

    NOTA:La variable "x" determina la posicin horizontal de un objeto (similar al sistema de

    posicionamiento de los ejes cartesianos).

    Este cdigo va a ver si el valor "x" del objeto es exactamente igual a 255. Si es as, va a cambiar el

    valor de "x" a 100, saltando ese objeto de un lugar en la sala a otro (en este caso, a la izquierda).

    if (Timer >= 10)

    move_towards_point(10, 20, 30);

    Ese cdigo comprobar si el Timer es igual o superior a 10. Si es as, el objeto se mover hacia el

    punto (10, 20) a una velocidad de 30. Puede parecer un poco complicado, pero recuerden que a

    medida que se escribe "move_towards_point" se mostrar en el rea de codificacin. El primer nmero

    necesario es "x", el segundo es "y" (la posicin vertical), y el ltimo es "spd" (nombre corto para

    "speed", que significa "velocidad" en ingls).

    Ahora, que tal si aadimos ms de un efecto?

    if (Timer != 2) {

    move_towards_point(10, 20, 30);

    Timer = 2;

    };

    Ok, ahora est e mpezando a parecerse a l tpico cdigo que ves en internet. Si e l Time r no es (ntese el

    !, significa "si no...") igual a 2, se mover hacia el punto (10, 20) a una velocidad de 30 y el Timer ser

    igual a 2, por lo que el codigo no hace nada ms.Si ustedes tienen ms de un efecto, tendrn que aadir "{" despus de la parte "if" y luego aadir un

    "}" al final de la lista de efectos (los ";" son opcionales, pero en muchos lenguajes son obligatorios, por

    eso es mejor acostumbrarse).

    Si ustedes estn usando &&'s, igualmente necesitan un conjunto de { } para los efectos.

    if (Timer == 1 && distance_to_object(Yo) < 10 && x >= 10) {

    x = 1;

    y = 2;

    };

    Aqu he usado tres if's, pero an slo es necesario un conjunto de { }. Ustedes nunca necesitarn ms

    de un juego a menos que tengan un requisito dentro de un requisito.

  • 5/26/2018 [Tutorial] Introducci n Al GML - Taringa!

    4/8

    if (Timer == 1 || Timer == 2) {

    x = 300;

    y = 200;

    if (Timer == 2) {

    Timer = 3;

    };

    };

    Si el Timer es igual a 1 o igual a 2, se mover e l objeto a la posicin (300, 200) y si el valor del Timer es

    2, entonces va a cambiar a 3. Recuerden que este cdigo an se activara si e l Timer vale 1. Puede ser

    un poco ms complicado, pero todo todava se lee correctamente.

    Adems, recuerden que no siempre es necesario utilizar un "if" en el cdigo.

    Timer += 1;

    Si estamos en el evento "Step" de un objeto, poniendo el cdigo har constantemente ele var el valor

    del Timer en 1. Cada vez que necesitan aumentar una cantidad con GML necesitan el signo igual all

    (ej: Timer + 1 no funcionar).

    Timer = 1;

    Esto es diferente porque cambiara el valor del "Timer" a 1 lo que significa que slo va a seguir

    cambiando a 1 (si se pone en el evento "Step" ). Si van a hacer a lgo as, (para que no se haga mas

    lento el juego) es posible que deseen utilizar algo como esto:

    if (Timer != 1)

    Timer = 1;

    Ahora de nuevo, asumiendo que este cdigo est en el evento "Step" de un objeto, slo cambiar el

    Timer a 1 si no est ya en 1. Utilizando el ltimo cdigo va a cambiar el Timer en cada paso del juego.

    Hacer ese tipo de cosas demasiadas veces, puede conducir eventualmente a hacer lento el juego

    debido a que constantemente carga el cdigo, incluso cuando no se necesita.

    Tambin, otra cosa til para aprender es cmo afectar un objeto con el cdigo que se est en otro

    objeto.

    x = Yo.x;

    Si hay un objeto llamado "Yo" en la habitacin y se e jecuta este cdigo en otro objeto, va a cambiar el

    valor de "x" de ese objeto en el valor "x" del objeto "Yo". Siguen conmigo?

    x = Yo.x;

    y = Yo.y;

    Este cdigo har que el objeto se "adhiera" al objeto "Yo" manteniendo los valores de "x" e "y" del

    mismo. Tengan en cuenta que slo se actualiza r cada vez que se e jecute el cdigo. Si e sta en e l

    evento "Step" y no has cambiado la velocidad del juego, va a "saltar" el objeto 30 veces cada segundo.

    Es comn ver que se arrastra detrs de ti por unos pocos pxeles antes de actualizar de nuevo.

    x += 1;

    Este es el tipo de cdigo utilizado en la mayora de juegos de plataformas o juegos de rol. Si se coloca

    en el evento "Keyboard right" de un objeto, rpidamente se va a mover el objeto a la derecha. Con un -

    (menos) en lugar del + (mas) har que se vaya hacia atrs por lo que es (en este caso) a la izquierda.

    Bueno, eso es todo lo que necesitan saber para empezar a utilizar codigos en GML. De ahora en

    adelante van a tener que ir aprendiendo las funciones ms avanzadas por sus propios medios (como

  • 5/26/2018 [Tutorial] Introducci n Al GML - Taringa!

    5/8

    20 comentarios

    @zinha7814hace 1 ao

    Por mera curiosidad, de casualidad has usado netbeans?

    @cotoloncohace 1 ao

    Muy bueno +1

    @caezonahace 1 ao

    cotoloncodijo:

    Muy bueno +1

    @juanjprohace 1 ao

    caezonadijo:

    cotoloncodijo:

    Muy bueno +1

    @DanzanteNocturnahace 1 ao

    que bueno que ests activo

    @sdz_hace 1 ao

    zinha7814dijo:

    Por mera curiosidad, de casualidad has usado netbeans?

    No, en general hago todo con el bloc de notas.

    cotoloncodijo:

    Muy bueno +1

    caezonadijo:

    cotoloncodijo:

    Muy bueno +1

    juanjprodijo:

    http://www.taringa.net/juanjprohttp://www.taringa.net/cotoloncohttp://www.taringa.net/caezonahttp://www.taringa.net/cotoloncohttp://www.taringa.net/zinha7814http://www.taringa.net/sdz_http://www.taringa.net/sdz_http://www.taringa.net/DanzanteNocturnahttp://www.taringa.net/DanzanteNocturnahttp://www.taringa.net/cotoloncohttp://www.taringa.net/caezonahttp://www.taringa.net/juanjprohttp://www.taringa.net/juanjprohttp://www.taringa.net/cotoloncohttp://www.taringa.net/caezonahttp://www.taringa.net/caezonahttp://www.taringa.net/cotoloncohttp://www.taringa.net/cotoloncohttp://www.taringa.net/zinha7814http://www.taringa.net/zinha7814
  • 5/26/2018 [Tutorial] Introducci n Al GML - Taringa!

    6/8

    caezonadijo:

    cotoloncodijo:

    Muy bueno +1

    Gracias. :B

    DanzanteNocturnadijo:

    que bueno que ests activo

    Mas o menos, este tutorial ya lo tena casi todo hecho, pero lo tuve que mejorar porque

    tena muchos problemas. Es re difcil explicar las cosas que uno en general pasa por alto.

    @zinha7814hace 1 ao

    Block de notas, ok, es que la sintaxis if(sentencia) { la llave de cierre justo despues de la sentencia

    y las tabulacioines son como las del ide netbeans, es que como yo agarre la maa de hacer el

    codigo como en python, con muchas tabulaciones, me imagine que alguna vez en tu vida usaste

    netbeans, mmm, esto es un , en fin, me gusto el tutorial, apenas ideaba hacer uno

    "Aprende GML con peras y manzanas".. . Me ganaste

    @sdz_hace 1 ao

    zinha7814dijo:

    Block de notas, ok, es que la sintaxis if(sentencia) { la llave de cierre justo despues de la

    sentencia y las tabulacioines son como las del ide netbeans, es que como yo agarre la

    maa de hacer el codigo como en python, con muchas tabulaciones, me imagine que

    alguna vez en tu vida usaste netbeans, mmm, esto es un , en fin, me gusto el tutorial,

    apenas ideaba hacer uno "Aprende GML con peras y manzanas"... Me ganaste

    Lo que pasa es que le un artculo con diferentes tcnicas para organizar los cdigos, y

    de ah eleg la ms conveniente.

    Si quers podes presentar tu tutorial, es irrelevante que yo haya hecho uno debido a que

    el tuyo ensea de forma diferente.

    @Fernandovghace 1 ao

    sdz_dijo:

    zinha7814dijo:

    Block de notas, ok, es que la sintaxis if(sentencia) { la llave de cierre justo despues

    de la sentencia y las tabulacioines son como las del ide netbeans, es que como yo

    agarre la maa de hacer el codigo como en python, con muchas tabulaciones, me

    imagine que alguna vez en tu vida usaste netbeans, mmm, esto es un , en fin, me

    gusto el tutorial, apenas ideaba hacer uno "Aprende GML con peras y

    manzanas"... Me ganaste

    Lo que pasa es que le un artculo con diferentes tcnicas para organizar los cdigos,

    y de ah eleg la ms conveniente.

    Si quers podes presentar tu tutorial, es irrelevante que yo haya hecho uno debido a que

    el tuyo ensea de forma di ferente.

    jaja... peras y manzanas XD.

    Tambin andaba con ganas de hacer uno, soy bueno explicando, pero soy muy vago escribiendo

    . Tengo que hacerlo con mas tiempo y organizarme mas.

    PD: No le un carajo :yaoming:

    @sdz_hace 1 ao

    Fernandovgdijo:

    http://www.taringa.net/Fernandovghttp://www.taringa.net/sdz_http://www.taringa.net/sdz_http://www.taringa.net/zinha7814http://www.taringa.net/sdz_http://www.taringa.net/Fernandovghttp://www.taringa.net/Fernandovghttp://www.taringa.net/zinha7814http://www.taringa.net/sdz_http://www.taringa.net/sdz_http://www.taringa.net/zinha7814http://www.taringa.net/zinha7814http://www.taringa.net/DanzanteNocturnahttp://www.taringa.net/cotoloncohttp://www.taringa.net/caezona
  • 5/26/2018 [Tutorial] Introducci n Al GML - Taringa!

    7/8

    jaja.. . peras y manzanas XD.

    Tambin andaba con ganas de hacer uno, soy bueno explicando, pero soy muy vago

    escribiendo . Tengo que hacerlo con mas tiempo y organizarme mas.

    PD: No le un carajo :yaoming:

    Yo tambin tena vagancia de e scribirlo, por eso busqu e ntre mis archivos un bloc de

    notas con un viejo tutorial. Le cambi muchas cosas y agregu otras que aprend con el

    tiempo (porque ese tutorial lo escrib cuando apenas saba lo que tengo en la cabeza

    ahora).

    PS: Es para los novatos, si quers un curso avanzado solo tens que pedirlo.

    @diegox_superhace 1 ao

    sin palabras, muy bueno llevaba mucho tiempo esperando algo sobre GML xD, se muy poco

    sobre este tema

    @sdz_hace 1 ao

    diegox_superdijo:

    sin palabras, muy bueno llevaba mucho tiempo esperando algo sobre GML xD, se

    muy poco sobre este tema

    Gracias, que bueno que te resulte til.

    @Fernandovghace 1 ao

    sdz_dijo:

    Fernandovgdijo:

    jaja.. . peras y manzanas XD.

    Tambin andaba con ganas de hacer uno, soy bueno explicando, pero soy muy vago

    escribiendo . Tengo que hacerlo con mas tiempo y organizarme mas.

    PD: No le un carajo :yaoming:

    Yo tambin tena vagancia de escribirlo, por eso busqu entre mis archivos un bloc

    de notas con un viejo tutorial. Le cambi muchas cosas y agregu otras que aprend con

    el tiempo (porque ese tutorial lo escrib cuando apenas saba lo que tengo en la cabeza

    ahora).

    PS: Es para los novatos, si quers un curso avanzado solo tens que pedirlo.

    jajaja... como si lo necesitara .

    @alezithophace 1 ao

    sdz_dijo:

    Es re difcil explicar las cosas que uno en general pasa por alto.

    [/b][/color]

    y si!! me ha pasado

    Me gustan mucho tus aportes!!

    @sdz_hace 1 ao

    alezithopdijo:

    y si!! me ha pasado

    Me gustan mucho tus aportes!!

    http://www.taringa.net/alezithophttp://www.taringa.net/sdz_http://www.taringa.net/sdz_http://www.taringa.net/sdz_http://www.taringa.net/alezithophttp://www.taringa.net/alezithophttp://www.taringa.net/Fernandovghttp://www.taringa.net/sdz_http://www.taringa.net/Fernandovghttp://www.taringa.net/Fernandovghttp://www.taringa.net/diegox_superhttp://www.taringa.net/sdz_http://www.taringa.net/sdz_http://www.taringa.net/diegox_superhttp://www.taringa.net/diegox_super
  • 5/26/2018 [Tutorial] Introducci n Al GML - Taringa!

    8/8

    Tienes que ser miembro para responder en este tema

    Gracias, saludos.

    @Lightariohace 1 ao

    haber que aprendo! +1

    @sdz_hace 1 ao

    Lightariodijo:

    haber que aprendo! +1

    Probablemente no mucho. Ac cubro los conceptos ms fciles e introductorios.

    @fedejulianleiva hace 9 meses

    Gracias... yo se muy poco ingles y trataba de leer en la ayuda de gm 8.1 por sierto no saves el

    serial para tener el pro?

    @p19990hace 1 mes

    Por fin, no encontraba nada +1

    @p19990hace 1 mes

    nada para aprender un poco de GML

    Buscar...

    Anunciar Ayuda Protocolo Desarrolladores Denuncias Report Abuse - DMCA Trminos y condiciones Privacidad de datos Repo

    http://taringa.uservoice.com/http://www.taringa.net/privacidad-de-datos/http://www.taringa.net/terminos-y-condiciones/http://www.taringa.net/takedown-notice.phphttp://www.taringa.net/denuncia-publica/http://www.taringa.net/widgets/compartirhttp://www.taringa.net/protocolo/http://ayuda.itaringa.net/http://anuncie.taringa.net/http://www.wiroos.com/http://www.taringa.net/p19990http://www.taringa.net/p19990http://www.taringa.net/p19990http://www.taringa.net/p19990http://www.taringa.net/fedejulianleivahttp://www.taringa.net/fedejulianleivahttp://www.taringa.net/Lightariohttp://www.taringa.net/sdz_http://www.taringa.net/sdz_http://www.taringa.net/Lightariohttp://www.taringa.net/Lightario