Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: MRafX en Agosto 27, 2010, 07:45:56 PM

Título: rotar alrededor de un objeto, en forma circular?
Publicado por: MRafX en Agosto 27, 2010, 07:45:56 PM
otravez vengo a molestar XD
como puedo hacer que un objeto rote, alrededor de oro,en forma de circular y que si el otro objeto(no el que rota) se mueve el objeto lo siga sin dejar de rotar alrededor de el, y si me explican mejo XD
de cualquier forma gracias :)
Título: Re: rotar alrededor de un objeto, en forma circular?
Publicado por: zerozerito en Agosto 27, 2010, 09:47:04 PM
puedes hacer esto hacer dos sprites uno que sea el objeto y el otro sea el objeto que gira pero manejando colisiones precisas osea separate colisions masks y tienes que centrar sprites, ahora el mismo objeto lo sigue y respeta el sprite claro siguiendo al otro objeto sin mas ni mas aqui te subo un proyecto espero te sirva :-[
es sencillo el proyecto pero es util para resolver tus dudas

ejemplo si haces un juego de plataformas el jugador podra subir encima de el objeto moviendose pero teniendo cuidado con el otro objeto que rota eso seria un ejemplo si quieres hacer algo como en mario bros  XD
Título: Re: rotar alrededor de un objeto, en forma circular?
Publicado por: slampdesign en Agosto 28, 2010, 12:32:21 AM
aqui tienes un ejemplo:
Título: Re: rotar alrededor de un objeto, en forma circular?
Publicado por: MRafX en Agosto 28, 2010, 02:21:43 AM
zerozerito:ya lo habia yo pensado asi , pero lo que yo queria es que sea otro objeto para que ese dispare, gracias de todas maneras

slampdesing: es exactamente lo que queria, y habia estadointentando, y no me salia,lo unico que lograba era hacer un espiral XD gracias
Título: Re: rotar alrededor de un objeto, en forma circular?
Publicado por: soyyo en Agosto 28, 2010, 03:27:53 AM

//girar_alrededor(xeje,yeje,velocidad)
var velocidad, direccion;
velocidad=argument2
direccion=point_direction(x,y,argument0,argument1)
x+=lengthdir_x(velocidad,direccion+90)
y+=lengthdir_y(velocidad,direccion+90)

probalo y decime si funciona