Noticias

Se ha publicado un nuevo servicio, el Portal de Juegos Online

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Taki-A

Páginas: 1
1
Hola amigo, podrías combinar la respuesta de este post:
https://www.comunidadgm.org/preguntas-y-respuestas/comprobar-una-variable-de-todas-las-instancias-resuelto/msg136770/#msg136770

Que a grandes rasgos, lo que hace es almacenar en un vector todas las instancias creadas de un objeto determinado.
La parte que te tocaría programar sería la de elegir aleatoriamente y luego hacer que el objeto A, siguiera al objeto tomado aleatoriamente.

randomize();
var cant = instance_number(obj_B);
var insta = vector_instancias[irandom(cant)];

move_towards_point(insta.x, insta.y, 5);
Ese codigo lo que hace, es escoger aleatoriamente uno de los tantos objetos B que haya y lo sigue.

Esta un poco tosco y tal, pero creo que la idea se entiende.
Los siguientes usuarios dieron las gracias a este tema: Taki-A

2
Preguntas y respuestas / Re:Error visual con distance_to_object
« en: Diciembre 29, 2018, 06:08:08 pm »
Si tuviera que adivinar tiene que ver con tus condiciones en el if/else:

Supongamos que la posición del enemigo es enemigo.x+7.
por lo tanto la condición if enemigo.x+5 < x se cumple.
así que el enemigo se mueve x -= 2.5; y su nueva posición es enemigo.x+4.5

ahora en el próximo frame, se prueba de nuevo la condición:

if enemigo.x+5 < x? no, en este caso x  = enemigo.x+4.5
por lo tanto entra en la condición del else
así que el enemigo se mueve x += 2.5; y su nueva posición es enemigo.x+7 nuevamente,

En el próximo frame vuelve a moverse a 4.5, luego a 7 y así, ese es el efecto que te esta sucediendo.

Este es tu problema, para solucionarlo de forma rápida podrías probar:

if distance_to_object(enemigo) < 400  and enemigo.image_alpha = 1
{
if enemigo.x+5 < x
{
    sprite_index = spr_enemigo_craneo_camin_izq
    x -= 2.5
    image_speed = 0.16
}
else if enemigo.x-5 > x // Esta linea de código es el cambio
{
    sprite_index = spr_enemigo_craneo_camin_der
    x += 2.5
    image_speed = 0.16
}
}

Saludos
Los siguientes usuarios dieron las gracias a este tema: Taki-A

3
Preguntas y respuestas / Re:Error visual con distance_to_object
« en: Diciembre 29, 2018, 05:14:29 pm »
aclarar que en el codigo del ENEMIGO persigue al "enemigo"(que viene siendo el personaje dentro de su codigo) esto lo hice asi para que el enemigo persiguiera al personaje mas cercano a el
Los siguientes usuarios dieron las gracias a este tema: Taki-A

Páginas: 1