Los eventos de Game Maker Studio 2

También te podría gustar...

4 Respuestas

  1. Daniel Pareja dice:

    Pues vaya molestia que primero se ejecute el evento create y despues game_start.
    Digamos que quiero crear una macro llamada maxPS, con el maximo de salud del jugador.
    Esta variable solo se crea una vez al comenzar el juego. En el evento create del jugador tengo PS=maxPS. Pero al hacerse esto primero, el juego se cuelga.
    ¿Hay algun modo de darle la vuelta al orden de los eventos?

    • David dice:

      No puedes cambiar el orden de los eventos, debes buscar otra manera de hacerlo.

      Entiendo que la variable maxPS es global, así que se debería llamar global.maxPS. Es posible que tengas el error por ahí.

      Yo suelo tener un objeto controlador llamado obj_controller, y ahí pongo todo lo que sería global, por ejemplo el número de vidas del player, si se escucha o no música, etc. Ahí yo pondría la variable global.maxPS para que se use en otros objetos. También es posible que te interese que sea Persistente, para que esté en todas las rooms.

      Solo tienes que asegurarte que está en la primera room y que es la primera instancia que se crea de todos (mira el orden en el diseño de la room.

  2. Daniel dice:

    Qué diferencia hay entre CREATE y DRAW para una instancia?
    Tal y como lo entiendo, solo se diferencian en que CREATE se ejecuta primero, y en qué DRAW no se ejecutará si el objeto no tiene sprite o es invisible.

    • David dice:

      Create se ejecuta cuando se crea el objeto, ya sea porque lo has colocado en la room (y se inicia), o lo creas mediante Drag&Drop o con instance_create().

      Draw se ejecuta varias veces por segundo cuando tiene que dibujar algo, ya sea un sprite asociado o porque tiene código en su evento (para dibujar texto, otros sprites, etc). Si tienes código en el evento y el objeto es invisible, no se ejecutará.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *