Hola artistas ,estoy en el apartado de que cuando impacta un misil en el obj enemigo,el misil se destruye y se genera una animación con otro obj , si la nave esta estacionada la animación se genera donde a impactado, pero cuando esta se desplaza esta permanece en dicha posición
He probado en el obj animación explosión que las cordenadas de cuando se crea sean las de el obj_enemigo
x=obj_enemi1.x
y=obj_enemi1.y
pero en lugar de crearse ,justo donde impacta se crean justo en el punto,de coordenada de la imagen spr
como podría obtener la cordenada del impacto de cada misil ,par poder sumárselo a la posición done se debería generar la animación?
ejemplo
x=obj_enemi1.x+cordenada final de desrucion del misil
y=obj_enemi1.y+¨ ¨
respondo pk no ha respondido nadie.
Mi respuesta: No entendí bien :/ normalmente cuando alguien hace eso, crea el objeto en su misma x,y, directamente al crearlo, no entiendo eso de las coordenadas :/
Si no me explicado bien, tengo dos naves, jugador y enemigo ,cuando disparo desde el jugador y colisiona en un enemigo en una zona concreta ,se genera una animación obj_efecto_explosion y se ve bien, pero cuando el enemigo se desplaza, la animación no sigue donde a impactado, se queda en la posicion deonde se creeo ,
Si obj_efecto_explosion le coloco en step x=enemigo.x y=enemigo.y todos los impactos se generaran en el punto de origen y ami me gustaria que sigiera la animacion, donde inpacto ,aunque se desplace el enemigo
tengo una idea de como podría hacerlo
y es añadiéndole a :
x=enemigo.x +una variable que me diera la posición x de colisión dentro del objeto
y=enemigo.y +una variable que me diera la posición y de colisión dentro del objeto
Aaah ok, pues al crearla, créala directamente en la x,y del enemigo y en la explosión no uses el step, usa el draw con un draw_sprite con la x,y del enemigo, y evitarás el retraso que provoca el step
ya creo la animación directo en la coordenadas x,y del enemigo pero todas aparasen en el mismo punto de cordenada y no justo donde , impactan,gracias por el consejo ,probare la función draw,pero si contiene una animación esta la genera?
a ver.. si te refieres a que aparezca JUSTO en el punto donde chocan los BORDES de cada sprte... uff eso es otro royo que yo ni idea xDD alguna trigonometría rara, para eso pregunta a darkrulz alomejor él.... (ahora le aviso xd)
y para que haga animación, usa draw_sprite_ext y si la animación sigue el mismo image index, ponle image_index en el valor "image_index" xDD y sino, pues crea una variable que vaya avanzando a cada step con un bucle según el número de imágenes.. pero bueno, que si es el mismo sprite que el del objeto, pues no hace falta eso
Al momento de impactar, genera la explosión en el punto correcto donde la explosión se vería estando todos parados y guarda esas coordenadas en el objeto nave enemiga de la siguiente forma:
xImpacto = nave.x - bala.x;
yImpacto = nave.y - bala.y;
Con esto, te guardas la diferencia entre las coordenadas.
Luego, en la explosión, es como dijiste. La dibujas en:
nave.x + xImpacto;
nave.y + yImpacto;
EDITO: o guárdalas en el objeto de la explosión para que funcione para más de una explosión
EDITO2: Si la nave rota y quieres que la explosión rote con ella, hazmelo saber
claroo!!! estas echo un genio , gracias a vosotros estoy aprendiendo un monto si me dejaran daría mil cliks de agradecido
Como ponéis los códigosa qui para que se vean a sí con el fondo negro
Tienes la etiqueta [code ] y la [gml ]. Una es negra y otra blanca
Dale a citar en un mensaje que lo tengas y verás como se usa
kostra = a gracias ;D
Hay un post dedicado a eso
https://www.comunidadgm.org/propuestas-y-soporte/bbcode/