Buenas, tengo un gráfico que se mueve en circulo, pero quiero que se mueva en sentido horario y antihorario con las teclas derecha y izquierda respectivamente.
Esto lo estoy haciendo, pero quiero que el gráfico tenga mayor velocidad, o sea, que ande 3 veces mas rápido (por otras palabras, que haga 3 veces más camino en el mismo tiempo.
O sea, cada vez que pulso la tecla, el gráfico anda en circunferencia, x distancia alrededor en ese tiempo de pulsasión, pero quiero que en el mismo tiempo, ande 3 veces mas camino,
o sea que sea 3 veces mas rapido, todo sin cambiar el tiempo de pulsación (el cual hace que tengamos que volver a pulsar para que vuelva a andar un poco más).
El código es el siguiente, y necesito saber en que parte tengo que hacer el incremento, sin alterar la dimensión del circulo, ni de tiempo, de pulsación, ni cambiar el valor de FRAME
Grácias de antemano.
PRIVATE
time = 0;
wait = 30;
BEGIN
graph = 1;
x = 320;
y = 240;
LOOP
IF(key(_right) && timer[3] > time + wait)
angle2 += (pi / 64);
x = x + get_distx(angle2, 3); // 3 --> Distancia em relación al centro
y = y + get_disty(angle2, 3);
time = timer[3];
END
IF(key(_left) && timer[3] > time + wait)
angle2 += pi/64;
x = x - get_distx(angle2, 3);
y = y - get_disty(angle2, 3);
time = timer[3];
END
FRAME;
END
END
Nota: la variable angle2 es local.
Ya lo tengo, lo he arreglado con un FROM ... TO ... FRAME;END en el cual multiplico las veces que quiero ejecutar el incremento en el mismo tiempo.
Ahora necesito otra ayuda, quiero poner varias imagenes girando en la misma circunferencia (misma trayectoria), pero todas en posiciones iniciales distintas (como si cada una fuese un numero de un reloj en el cual los numeros se movieran alrededor).
Quiero usar el mismo procedimiento para todas, y como parametro de entrada tienen el valor de angle2 inicial (que ahora ya no es local) y del x, y (posicion inicial).
De momento sólo me funcionan 2 de las 8 que pongo, las cuales son la imagen de arriba y la del fondo, y tienen como parametro de entrada los angulos 0 (la del fondo con x=90, y=150) y 179968 (la de arriba, con x=92, y=64) respectivamente.
Los angulos de entrada de las imagenes que no hacen bien la circunferencia son: 44992, 89984, 134976, 224960, 269952 y 314944.
Estos angulos que he puesto (los 8), calculan todas las posiciones que cada imagen va tener en el trayecto, son posiciones validas, pero como entrada sólo 2 parecen hacer que la imagen haga correctamente el trayecto que quiero.
Grácias, mil grácias, ya esta resuelto, sólo habia que ponerle angulos negativos.
Me doy las grácias por haberlo resuelto :-* :-*
Te iba a decir que pusieras angle2 como una variable de entrada en lugar de inicializarlo una y otra vez dentro del IF (incluso se puede alterar su valor cuando se quiera, sólo necesitarías otra varaible donde guardar su velocidad inicial).