Junio 08, 2011, 07:41:47 PM Ultima modificación: Junio 09, 2011, 04:39:14 AM por DrEaMGhOsT
Mi problema es el siguente...

digamos...

sprite1

sprite2


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...
Es MeJoR MoRir ParADo QuE vIviR De RoDIllas

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)


#3 Junio 09, 2011, 03:56:13 AM Ultima modificación: Junio 09, 2011, 03:59:00 AM por Wadk
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]
Vim.

Exelente, es lo que buscaba, gracias...
Es MeJoR MoRir ParADo QuE vIviR De RoDIllas