Hola amigos, hoy quiero plantear una duda que tengo hace tiempo, hay alguna forma de hacer una línea punteada, típica hoy de muchos juegos, donde se anticipe a donde va a ir el proyectil si se usan físicas? Game Maker tiene alguna función para hacer esto? o hay algún ejemplo o algo? la verdad es que no se me ocurre como poder hacerlo, lo que quisiera es que sea una línea larga que tenga en cuenta rebotes posibles, si alguien sabe o tiene alguna idea que ayude muchas gracias!!
En el ejemplo "Angry Cats" que viene en GMS está un ejemplo de cómo dibujar la trayectoria de un proyectil que usa el sistema de físicas. En el evento Create de objAngryCat aparece éste código:
[gml]
//Cat vars
makingPoo = true;
lastPooX = 0;
lastPooY = 0;
[/gml]
y en el evento Step esto:
[gml]
//Make a trail if still permitted
if makingPoo
{
if point_distance(x,y,lastPooX,lastPooY) > 30
{
//Create trail instance
instance_create(x,y,oPoo);
lastPooX = x;
lastPooY = y;
}
}
[/gml]
simplemente crea objetos estáticos, a cierta distancia, por donde pasa volando (y borra la trayectoria anterior).
Cuando colisiona con un bloque [gml]//Switch off trails
makingPoo = false;[/gml]
desactiva la creación de puntos, pero en tu caso no necesitas esa parte.
Los puntos se van creando cuando el proyectil se mueve, porque dibujar la trayectoria en tiempo real antes de lanzar el proyectil sería un proceso muy demandante en GMS, y más si se está usando el sistema de físicas.
Lo que se me ocurre para dibujar una trayectoria antes de disparar es crear un fragmento de la trayectoria en cada Step, y si el ángulo o la fuerza se cambia volver a trazar la trayectoria. Cuando tenga tiempo intentaré hacer un ejemplo.
En game maker hay un demo de los mismos creadores de game maker studio te metes a la pestaña demos y sale angry cats y viene algo paresido.
Hola amigos, gracias por responder, yo lo que quiero hacer es que la linea aparezca antes de lanzar como una forma precisa de apuntar, se puede?