Saludos amigos, estoy creando un juego de disparos y eso. En el juego tengo un tanque, ya hice que disparara y todo bien, pero cómo hago para que la bala salga desde la punta del cañon de tanque? Probé centrando el sprite del tanque en el cañon y creando la instancia de la bala en relative, pero entonces eso me afecta el movimiento del tanque ya que se ve feo al correr. Entonces, cómo haría para que la bala salga desde la punta del cañon del tanque sin que afecte el movimiento?
Agradecería mucho la ayuda y el apoyo. De antemano, gracias. :)
2 opciones planteando que es un topdown shooter:
1) si tu tanque y la torreta son dos sprite separados podrias hacer que la profundidad de la bala sea menor que la parte baja del tanque y mayor que la torreta, creando asi un sandwich
torreta
bala
tanque, parte baja
2)hacer una serie de calculos matematicos en los que entran transicion o algo asi de vectores, lo que implicaria el uso de senos, cosenos y radianes. hay un tema que trata precisamente este punto con un ejemplo y todo. buscalo, se llamaba como rotar un spine o algo asi.
Usa el método escalar más sencillo, si tu tanque es de cuatro direcciones solo usa un switch, ejemplo:
switch(lado){
case "derecha":
instance_create(x+16,y,obj_bala);
break;
case "izquierda":
instance_create(x-16,y,obj_bala);
break;
case "abajo":
instance_create(x,y+16,obj_bala);
break;
case "arriba":
instance_create(x,y-16,obj_bala);
break;
}
todo esto suponiendo que el valor de la variable "lado" guardara la posición actual del tanque
ahora el codigo anterior sacara la bala mas exacta a la posición actual del cañón(todo depende del tamaño del sprite)
ahora si el tanque se mueve en 360° las funciones "lengthdir_x" y "lengthdir_y" te serán útiles
con ue pongas el punto de origen x más atrás del sprite ya vale perfectamente.
Hola, para solucionarlo (aunque depende también de tu caso) debes utilizar una matriz de rotación; este es un pequeño script que acabo de publicar:
http://www.comunidadgm.org/desarrollo-de-scripts/obtener-posicion-de-adjuntado/ (http://www.comunidadgm.org/desarrollo-de-scripts/obtener-posicion-de-adjuntado/)
Saludos