Listado de eventos

También te podría gustar...

26 Respuestas

  1. marta dice:

    hola David .
    ando muy perdida, quisiera que un objeto obj_premio, desapareciera cuando pase un tiempo y luego vuelva a parecer pasados 4 segundos en otro sitio ¿se puede hacer? me ayudais?
    gracias

  2. José dice:

    Hola, ¿existe un evento de teclado en el que pueda asignar la eñe? Es que estoy creando un teclado español para hacer un juego de mecanografía pero no puedo asignar la eñe ni los acentos.

    • David dice:

      Buenas José,
      evento como tal no existe. Lo que puedes hacer es en el evento Step poner algo parecido a esto:
      if keyboard_check(ord("Ñ")) {
      texto_final += "Ñ";
      }

      y así controlar cualquier cosa por teclado.

      David

  3. Charlin dice:

    Me pregunto si se podra, detectar dos pulsaciones del teclado a la vez para ejecutar una accion

    necesito ayuda en ese tema porfavor

    • David dice:

      Pues si no es con GML, que noralmente se controla con el evento Step y la función keyboard_check_pressed(), lo único que se me ocurre es crearte una variable, que se llama por ejempo control_teclado, y con Key Press le sumas un valor de 1, y con Key Released le quitas 1.
      Luego en el evento Step miras con Test Variable si control_teclado tiene value 2.
      Espero que te sirva!

  4. Alex dice:

    Hola David! Estoy teniendo problemas con los eventos asíncronos, estoy usando en un create la función achievement_load_leaderboard (“***”, 1, 100, filter_all player), y en un evento asíncrono social (en el mismo objeto) estoy pidiendo que me muestre que hay en el dsmap async_load. Las claves que me muestra son tres, id, name y playerid, las correspondientes a achievement_login… Porque no me muestra las claves de achievement_load_leaderboard?

    Espero haberme explicado bien y que puedas ayudarme porque el tema me está volviendo loco…

    Gracias!!!

    • David dice:

      Pues si haber usado los eventos asíncronos con achievement_load_leaderboard(), ni con ningúna función de Game Center o Google Play, si que te puedo decir que a veces se dispara el evento por otras causas, y debes comprar siempre la clave Id. Así que yo haría esto:
      //"id" - For this function it should be achievement_leaderboard_info
      var id = ds_map_find_value(async_load, "id");
      if (id == achievement_leaderboard_info) {
      //Aquí dentro debe estar las claves.
      }

      Prueba con ese código. Imagínate que se activa el evento porque primero hace el login y luego se vuelve a activar porque ya puedes cargar el leaderboard. Los ids cambian y por eso hay que siempre detectarlos y filtrarlos con if.

      Espero haberte ayudado.

      • Alex dice:

        Gracias por la respuesta David, ya he usado también el código de comprobación de id y o me da el de achievement_our_info o undefined… estoy empezando a pensar que sea tema de la extensión de googleplayservices, quizá tenga que actualizarla. De todas formas he hecho mil pruebas y estoy viendo como se disparan los eventos asíncronos y demás así que por lo menos algo estoy aprendiendo… ¿llegaste a escribir algún artículo dedicado a estos eventos? he estado buscando y no he visto nada.

        Un abrazo y de nuevo muchas gracias!

        • David dice:

          En realidad no he tocado en detalle los eventos asíncronos (tema pendiente), pero si que he hablado del evento de Networking para enviar/recibir datos en red.
          Tutorial juego multiplayer

          En este caso no creo que te sirva al ser temas distintos, aunque se parecen por como se trata los datos.

  5. Alex dice:

    Muchas gracias David, de momento voy a aparcar el tema para retomarlo más adelante, así me despejo y continuo con otras partes de mi desarrollo antes de que se enquiste. Esperando este tema de eventos asíncronos! Un abrazo!

  6. Lucas dice:

    Hola estoy haciendo un juego y he usado la variable keyboard_check_pressed () y no se como poner la a me deja poren vk_up y cosas por el estilo pero no la a suelta

    • David dice:

      Si te fijas, las constantes de teclas, como vk_up, son todas las especiales.
      Si quieres usar letras o números, usa la función ord(). Por ejemplo:
      keyboard_check_pressed(ord('A'))
      Recuerda que ord(‘A’) y ord(‘a’) daría resultados diferentes, así que yo pondría algo así
      if keyboard_check_pressed(ord('A')) or keyboard_check_pressed(ord('a'))

  7. Luis En dice:

    Hola David, me fascinan tus guías, son geniales!
    Tengo una consulta, pasa que cuando presiono a la vez las teclas de avanzar izquierda y derecha de mi personaje, al soltar una de ellas mi personaje avanza en la dirección en la cual mantengo presionada, pero sin la animación correspondiente hacia esa dirección, es más, se queda con el sprite de “reposo” pero mirando hacia el lado opuesto hacia donde mantengo presionado.

    Porfa! como podría solucionarlo? :/

    • David dice:

      Seguramente tienes el movimiento en los eventos KeyDown (para que empiece el movimiento) y KeyUp(para que deje de moverse). Dentro de los eventos tendrás el cambio de sprite (o de dirección de sprite).
      ¿Es así? ¿Te mueves con la variable speed?

  8. Mateo Maidana dice:

    buenas David,una pregunta ¿como hago para que un objeto detecte a otro en una cierta distancia para que utilice una animación,y cuando este se aleje este en sprite de reposo ?

    • David dice:

      Con este código en el evento Step puedes detectar un objeto concreto a una distancia:
      if distance_to_object(obj_enemigo) < rango_distancia
      {
      cambiar_imagen
      }
      Si hay varias instancias cogerá una de ellas solamente.

  9. Edgar dice:

    Buenas tardes David espero me puedas apoyar, como se puede cambiar un evento que se da por default a un objeto ?

  10. Luis dice:

    Si quiero hacer un juego con poderes especiales osea como si por ejemplo aplastar abajo izquierda derecha y que soltara un poder cómo una bola de fuego algo por el estilo
    cómo podría elaborarlo?

    • David dice:

      Nunca lo he probado… Yo tendría una lista con la combinación correcta, y añadiría en otra las teclas pulsadas. En el momento que la secuencia es correcta, ya puedes usar el poder. Si en algún momento se equivoca, vacias la lista, y si en un segundo no pulsas nada, también…

      Me lo apunto para hacer en un futuro.

  11. Diego Brizuela dice:

    Simplemente gracias.

  12. marcel desriviers dice:

    Hola David interesante articulo, es el que mas me ha ayudado y aun asi no logro la soluciones.
    tengo dos objetos, un botón asimilando una tarjeta que al presionarlo activa otro obj en pantalla como si tomaras la tarjeta. el tema es que necesito que al momento de activar este objeto cambie la image_index de la tarjeta en pantalla segun la posición del jugador. pero dentro de los eventos de GML no hay ninguno que de cierta forma escuche cuando un objeto a sido activado. seria esto.
    al apretar el boton
    instance_activate_object(obj_tarjeta_pantalla)
    instance_deactivate_object(obj_boton):
    ……………….
    entonces necesito que este al activarse cambie su image_index. osea
    obj_tarjeta_pantalla.image_index = obj_pj1.posicion;
    espero puedas entender y ayudarme. saludos y gracias

  13. marcel desriviers dice:

    Lo solucione cambiando la instancia desactivada por un visible false. pero la idea es que no se pueda interactuar con este…

  14. danip dice:

    Hola, estoy recien aprendiendo game maker 2 , me gustaria saber si existe alguna forma de integrar dentro del juego formularios, pensando en hacer algunas preguntas al jugador para que despues en otra etapa se muestren estas respuestas como si fuera un informe

    • David dice:

      No existen objetos predefinidos para hacer formularios. Tendrias que hacer tu mismo todo lo que quieres hacer. También puedes usar las funciones get_string() o get_integer() para pedir datos al usuario con una ventana pop-up.

Deja una respuesta

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