Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Gamer en Marzo 26, 2015, 08:07:04 PM

Título: ayuda con codigo
Publicado por: Gamer en Marzo 26, 2015, 08:07:04 PM
Hola chicos necesitaba ayuda con :
Lo que quiero es poner esto en código ;si el personaje se mueve a una velocidad de 7 entonces distance_to_object()<700, pero si se mueve a una velocidad de 8 entonces distance_to_object<200.
Gracias de antemano :)
Título: Re:ayuda con codigo
Publicado por: Iros en Marzo 26, 2015, 08:23:47 PM
No entiendo bien lo que queres lograr, el distance_to_object() se usa para saber la distancia del objeto actual con respecto a otro objeto, y vos lo estás usando comparándolo a modo de condicional. Según lo que entiendo quedaría algo así:

[gml]
if (speed == 7) {
   if (distance_to_object(algun_objeto) < 700) {
      //Acción a realizar.
   }
} else if (speed == 8) {
   if (distance_to_object(algun_objeto) < 200) {
      //Acción a realizar.
   }
}
[/gml]
Título: Re:ayuda con codigo
Publicado por: Gamer en Marzo 26, 2015, 08:31:32 PM
Mi objetivo es que se active una trampa dependiendo de la velocidad de mi personaje a una destancia determinada
Título: Re:ayuda con codigo
Publicado por: Iros en Marzo 26, 2015, 08:52:03 PM
Entonces como puse el código te va a servir, simplemente agregá el código que tengás para que se active la trampa donde están los comentarios.
Título: Re:ayuda con codigo
Publicado por: Gamer en Marzo 26, 2015, 09:10:12 PM
Pero no lo tengo en forma de codigo no se realmente como ponerlo en codigo tengo :
EVENTO CREAT:
-Set variable ammo to 1
-Set alarm 0 to room_speed
EVENTO ALARM 0:
-Test variable: if ammo is greater than 0
-Start block
-Change sprite
-create moving instance
-Set variable ammo to -1
-End block
-Set alarm 0 to room-speed

Como escribo todo esto en codigo despues de lo que has dicho tu.
Título: Re:ayuda con codigo
Publicado por: Iros en Marzo 26, 2015, 10:25:35 PM
Evento Create:
[gml]
ammo = 1;
alarm[0] = room_speed;
[/gml]

Evento Alarm 0:
[gml]
if (ammo > 0) {
    sprite_index = tu_sprite;
    with (instance_create(x, y, obj_a_crear)) {
            speed = 5;
            direction = 90;
    }
    ammo -= 1;
    alarm[0] = room_speed;
}
[/gml]

Donde "tu_sprite" es el sprite que le asignas y "obj_a_crear" es el objeto que se crea con el D&D de "create moving instance", ahí vos cambiale el X e Y como así también la velocidad y la dirección por lo que tenías.

Si te fijás, en comparación con lo que vos tenías no hay mucha diferencia, es cuestión de saber interpretar y pasar a código nada más.