Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: DrEaMGhOsT en Junio 08, 2011, 07:41:47 PM

Título: coordenadas de un punto segun dierccion(RESUELTO)
Publicado por: DrEaMGhOsT en Junio 08, 2011, 07:41:47 PM
Mi problema es el siguente...

digamos...

sprite1
(http://img703.imageshack.us/img703/6338/sprite0.png)
sprite2
(http://img848.imageshack.us/img848/1236/sprite1n.png)

las lineas rojas es el punto de origen del sprite
lo blanco es transparente.

el objeto1 (con el sprite1)  tiene el codigo...

image_angle=direction

y se supone el objeto1 dispara al objeto2 (con el sprite2)
desde la punta del sprite1,
a 0 grados simplemente pongo...

v_id=instance_create(x+10//lo crea masomenos en la punta//,y,objeto2)
v_id.direction=direction
v_id.speed=20


pero si es con cualquier otro angulo... digamos 75...
como encuentro la cordenada de la punta del objeto1

no puedo cambiar los puntos de origen ni crearlo desde el punto de origen por otras razones

porfavor espero su ayuda...
Título: Re: coordenadas de un punto segun dierccion
Publicado por: magnetox en Junio 08, 2011, 08:14:32 PM
Entendi casi todo, bueno si es lo que creo que es, deberias usar la funcion "lengthdir_x" de esta manera:

[gml]instance_create(x+lengthdir_x(10,direction),y,objeto2);[/gml]

Ese codigo lo reemplazas en tu codigo, y deberia funcionar.
Si no es lo que pediste, hazmelo saber.

salu2  8)
Título: Re: coordenadas de un punto segun dierccion
Publicado por: Zeit en Junio 08, 2011, 10:24:26 PM
Hola, solo tienes que usar esto:

http://es.wikipedia.org/wiki/Matriz_de_rotaci%C3%B3n (http://es.wikipedia.org/wiki/Matriz_de_rotaci%C3%B3n)

Saludos.
Título: Re: coordenadas de un punto segun dierccion
Publicado por: Wadk en Junio 09, 2011, 03:56:13 AM
Creo que es lo que dijo Magnetox, pero tambi?n ten?s que usar lengthdir_y:
[gml]instance_create(x + lengthdir_x(10, direction), y + lengthdir_y(10, direction), objeto2);[/gml]
Y los 10 los vas cambiando hasta que veas que queda bien.

Tambi?n podr?as usar move_contact_solid, y evitar?a que la bala atraviece objetos s?lidos al posicionarse en la punta del tri?ngulo:
[gml]v_id = instance_create(x, y, objeto2);
v_id.direction = direction;
v_id.speed = 20;
v_id.move_contact_solid(direction, 10);[/gml]
Título: Re: coordenadas de un punto segun dierccion (RESUELTO)
Publicado por: DrEaMGhOsT en Junio 09, 2011, 04:08:01 AM
Exelente, es lo que buscaba, gracias...