Hola nuevamente!!
No funciona porque la función no la estas llamando nuevamente. Y es muy fácil hacer lo que quieres sin hacer tanto código solo hay que modificar un poco la función.
Hay que agregar un parámetro a la función y así la extenderemos para darle mas usabilidad.
Código ActionScript:
Ver original//Declaras i como habias dicho
var i:int = 0;
function animar(p,n) {//<---------agregamos el parámetro n
var orden:Array=p.split("");
var q:String=orden[n];//<-----usamos el parámetro n para determinar que
//case se va a usar
...
...
}
A hora usaremos la función de la siguiente manera:
esto en el frame 1
animar(String(laguia),i);
Y en cada frame donde inicia la animación llama la función, por ejemplo el frame 2 y el 20..80:
i++;
animar(String(laguia),i);
Bueno espero ayas aprendido a usar las funciones y como llamarlas.