Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: VietnamNeko en Marzo 28, 2020, 12:32:56 AM

Título: Crear objetos dentro de otro que esta girando
Publicado por: VietnamNeko en Marzo 28, 2020, 12:32:56 AM
Estoy intentando hacer que un objeto que gira con [gml]image_angle += 1[/gml]cree balas dentro de si mismo, pero se me esta haciendo complicado hacer esto con [gml]
if image_index = 15{
    with(instance_create(irandom_range(x,sprite_width),irandom_range(y,sprite_height),obj_hell_bullet)){
        motion_set(point_direction(x,y,jaguar.x,jaguar.y),1)
    }
}
[/gml]
alguna idea para hacerlo ?
Título: Re:Crear objetos dentro de otro que esta girando
Publicado por: BssString en Marzo 28, 2020, 02:35:23 AM
Hola VietnamNeko

Crea variables auxiliares que almacenen la posición del proyectil (antes de crearlo).
Luego calcula la distancia y dirección que hay desde el origen de tu objeto hasta el proyectil creado
Luego crea el objeto en la misma distancia del origen, pero con la dirección afectada por la "image_angle" del objeto, eso hará que el objeto creado rote junto con el objeto creador.

Ejemplo:
[gml]if image_index = 15{
var xx = irandom_range(x,sprite_width); //La futura X donde crearás el objeto
var yy = irandom_range(y,sprite_height); //La futura Y donde crearás el objeto
var len = point_distance(x,y,new_x,new_y); //La distancia lineal entre el x,y del creador hacia la bala
var dir = point_direction(x,y,new_x,new_y); //La inclinación entre el x,y del creador hacia la bala
//Luego creas la bala en el nuevo lugar, alterado por la image_angle del creador, pero basada en la misma distancia original.
    with(instance_create(x+lengthdir_x(len,dir+image_angle),y+lengthdir_y(len,dir+image_angle),obj_hell_bullet)){
        motion_set(point_direction(x,y,jaguar.x,jaguar.y),1)
    }
}[/gml]

Saludos
Título: Re:Crear objetos dentro de otro que esta girando
Publicado por: Gainfast en Marzo 30, 2020, 10:47:09 AM
Me voy a inscribir en este foro para obtener más información.