Hola!
Tengo un problemilla que no consigo solucionar. Estoy haciendo un dado, y yo quiero que al hacer click sobre él, éste se mueva hasta el resuktado obtenido. Lo que tengo hasta ahora es que el dado hace lo indicado pero no al clickarlo con el mouse, si no dandole a reproducir en flash.
Además, me gustaría que la animación fuese un poco más larga, es decir, que el dado diese alguna vuelta más antes de detenerse en el resultado obtenido. No se muy bien como debería hacer esto, he pensado 2 opciones:
1.Que recorra la linea de tiempo más de una vez hasta detenerse
(que por mucho que investigo no sé como se hace)
2. Que la animación dure un determinado tiempo. Lo he intentado
utilizando temporizadores, pero no soy muy diestra en el tema y
no ha funcionado.
Aquí dejo mi código, a ver si alguien me puede ayudar. Muchisimas gracias de antemano
dado.fla
Código:
var d:Dado= new Dado();
var aux:int;
d.calcularValor();
aux= d.getValor();
gotoAndPlay(1);
trace(aux);
switch (aux) {
case 1 :
gotoAndStop(2);
break;
case 2 :
gotoAndStop(3);
break;
case 3 :
gotoAndStop(4);
break;
case 4 :
gotoAndStop(5);
break;
case 5 :
gotoAndStop(6);
break;
case 6 :
gotoAndStop(7);
break;
}
dado.as
Código:
package {
import flash.display.MovieClip;
import flash.events.MouseEvent;
public dynamic class Dado extends MovieClip {
private var n:int;
public function Dado() {
addEventListener(MouseEvent.CLICK, lanzarDado);
}
public function calcularValor():void {
n=Math.round (Math.random()*5)+1;
}
public function getValor():int {
return n;
}
public function lanzarDado(event:MouseEvent):void {
calcularValor();
}
}
}