Hay un error de concepto. El evento
onRollOver no se ejecuta si tenés el mouse apoyado arriba del botón, solo se ejecuta en el momento en el que ponés el mouse sobre el botón. Para que se ejecute nuevamente, tendrías que alejar el cursor del botón y volverlo a poner arriba.
El hecho es que definís i=1 en el
onRollOver y por eso, ni siquiera sacando y poniendo el cursor sobre el botón repetidas veces vas a lograr el efecto buscado.
Ahora bien, lo que vos tenés que hacer es emplear un for. Ese es el mejor modo de hacerlo (también está el while, pero es mucho más fácil hacer un loop infinito)
Un for tiene esta sintaxis (también se pueden usar con una variable itinerante, pero eso no importa por el momento):
for (
init ;
condition ;
next){
init: la o las variables iniciales
next: cada vez que se ejecuta el for, vuelve a empezar, pero cambiando la o las variables (en el ejemplo de abajo se va a entender mejor)
condition: el for se ejecutará mientras esta condición sea evaluada como true
Hasta aquí la teoría. Ahora un ejemplo:
Código :
for (i = 1; i <= 5; i++) {
trace ("i = " + i);
}Bien, lo que ocurre es que en la ventanita de output, aparcecen los número del 1 al 5.
Esto es porque el for, primero dice que la variable
i es igual a 1. Luego chekea que
i sea menor o igual a 5, si lo es, realiza la acción (en este caso, un simple trace) y cuando termina de realizar las acciones, suma 1 a la variable
i y vuelve a chekear y a realizar las acciones, etc. etc. etc.
Podrás ver que esto es lo que intentabas hacer cuando definías i++ y todo eso. Asi que creo que no te va a resultar difícil adaptar tu código y usar el for.
AHHHH.... Por cierto, una apreciación final.... no te parece que si cargas 500 clips de película, tu animación o lo que sea se va a lentificar y mucho???
Hasta es posible que Flash te de un error diciendo que el script que estás empleando podría hacer que tu computadora no responda y te ofrezca abortarlo.....