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...
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)
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.
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]
Exelente, es lo que buscaba, gracias...