Cómo crear una máquina de estados en AS.

Como crear una Maquina de Estados from Emmanuel Ulloa on Vimeo.

He aqui el codigo:

//Estados: cuadrado, circulo, estrella
//***State Machine start
var _state:String = "";

function leaveState()
{
   switch(_state)
   {
     case "cuadrado":
     cuadrado_mc._xscale = cuadrado_mc._yscale = 100;
     break;
     case "circulo":
     circulo_mc._alpha = estrella_mc._alpha = 100;
     break;
     case "estrella":
     delete estrella_mc.onEnterFrame;
     estrella_mc._rotation = 0;
     break;
   }
}

function enterState()
{
   switch(_state)
   {
     case "cuadrado":
     cuadrado_mc._xscale = cuadrado_mc._yscale = 200;
     break;
     case "circulo":
     circulo_mc._alpha = estrella_mc._alpha = 20;
     break;
     case "estrella":
     estrella_mc.onEnterFrame = function()
     {
        estrella_mc._rotation += 5;
     }
     break;
   }
}

function setState(val:String)
{
     if(val != "")
     {
        leaveState();
        _state = val;
        enterState();
     }
}
//***State Machine end
//Codigo normal
cuadrado_mc.onPress = function(){setState("cuadrado")};
circulo_mc.onPress = function(){setState("circulo")};
estrella_mc.onPress = function(){setState("estrella")};
setState("cuadrado");

No comments:

Post a Comment