vereis estoy siguiendo este tutorial que teneis publicado en la web
http://www.comunidadgm.org/index.php?topic=10524.0
muy bueno por cierto.
pero me surge una duda....estoy haciendo un juego en vista top down...y el enemigo sigue el path a la perfeccion pero o que no acaba de convencerme es que cuando llega a una esquina del path no gira (o rota) progresivamente sino que lo hace de golpe....en un step esta mirando hacia lla derecha (por ejemp) y en el step siguiente esta mirando hacia abajo(por ejemp tambien) hay alguna manera de hacer que esto sea de una forma progresiva?gracias
Cuando haces el path hay una seleccion entre "straight lines" o "smooth curve". La segunda es lo que buscas
Eso hace que un path cuadrado se transforme en un circulo por ejemplo, y si quieres que sea un cuadrado redondeado agregas mas puntos
Imagen adjunta
si....veras...a lo mejor no me explique bien....estoy usando este codigo en el enemigo
en el create
var size;
size=32
grilla=mp_grid_create(0,0,room_width/size,room_height/size,size,size)
mp_grid_add_instances(grilla,pared,0)
ruta=path_add()
en el step
if distance_to_object(soldado_01)<128 {
path_end()
if mp_grid_path(grilla,ruta,x,y,soldado_01.x,soldado_01.y,1)=1 path_start(ruta,1,0,1)
}
image_angle=direction
esto genera un ruta posible entre el enemigo y el soldado_01 he puesto en el evento draw que dibuje la ruta y hasta ahi todo bien...funciona a la perfeccion....el unico problema es ese....he probado que el enemigo si se cumple lo de la distancia de 128,mire constantemente al soldado lo que no queda muy creible si hay una pared de por medio ;) y quisiera saber como hacer para que no gire tan bruscamente.Gracias
Intenta reemplazano el image_angle=direction por esto.
[gml]image_angle=(image_angle+(sin(degtorad(direction-image_angle))*12))[/gml]
Cita de: brunoxzx en Febrero 11, 2012, 11:25:46 PM
Intenta reemplazano el image_angle=direction por esto.
[gml]image_angle=(image_angle+(sin(degtorad(direction-image_angle))*12))[/gml]
funciona muy muy bien...muchas gracias porque yo no habria dado con la solucion nunca :D insisto...mil gracias
Cita de: Sdo.Ivan en Febrero 12, 2012, 09:47:56 AM
Cita de: brunoxzx en Febrero 11, 2012, 11:25:46 PM
Intenta reemplazano el image_angle=direction por esto.
[gml]image_angle=(image_angle+(sin(degtorad(direction-image_angle))*12))[/gml]
funciona muy muy bien...muchas gracias porque yo no habría dado con la solución nunca :D insisto...mil gracias
xD!.
Escribo lo que iba a escribir en la tarde pero no tenia tiempo.
El código esta en los smart codes de yoyo, y lo que hace es rotar a una dirección progresivamente y de la manera mas corta, la verdad muy útil.