hola a todos, estoy haciendo un juego en el cual los movimientos del personaje tienen que ser en forma de órbita, cuando apreto la tecla arriba gira hacia la derecha alrededor de otro objeto, cuando apreto la tecla abajo lo mismo pero hacia la izquierda. y cuando apreto la tecla derecha o izquierda da vueltas en si mismo. les estaria muy agradesido si me pueden ayudar

Que es lo que quieres en realidad
Que gire el objeto o que gire alrededor de otro objeto .

Cita de: eams1986 en Agosto 02, 2014, 01:37:47 AM
Que es lo que quieres en realidad
Que gire el objeto o que gire alrededor de otro objeto .


Quiere ambas cosas.

Me parece que lo más práctico es que uses una variable que guarde el ángulo que forma el objeto centro con el objeto orbitando y que al presionar arriba o abajo se decremente o incremente esta variable respectivamente:

En el evento create del objeto satélite:

a=0;//guarda el ángulo del vector centro-satélite (en radianes)
r=200;//la distancia a la que orbita el satélite del centro
d=0.1;//velocidad angular de giro traslacional del satélite (en radianes)


En el evento keyboard flecha arriba del satélite:

a-=d;
x=o_centro.x+r*cos(a);
y=o_centro.y+r*sin(a);


En el evento keyboard flecha abajo del satélite:

a+=d;
x=o_centro.x+r*cos(a);
y=o_centro.y+r*sin(a);


Tienes que calibrar las variables a, d y r a tu gusto. El siguiente código aparece en ambos eventos:

x=o_centro.x+r*cos(a);
y=o_centro.y+r*sin(a);


Ese código puede ir en el evento step en vez de duplicarse, pero toma en cuenta que cuando el satélite no esté moviéndose se estará ejecutando innecesariamente.

Para que gire en torno a sí mismo, basta con que modifiques la variable image_angle del objeto satélite.


gracias amigo me funciona re bien, lo que si es que no se como usar la variable imagle_angle, la puse en el evento left pero no me funciona bien

la variable imagle_angle te permite poner el ángulo de la imagen.
Por ejemplo si quieres que la imagen se vea al revés tienes que poner imagle_angle = 270
si quieres que la imagen gire puedes poner imagle_angle += 10

gracias, era eso XD, me olvide de ponerle el +