topical media & game development

talk show tell print

student-mma-16-Logo-LogoPart.ax

student-mma-16-Logo-LogoPart.ax [swf] flex


  package // Logo
  {
          import flash.events.Event;
          import mx.controls.Alert;
          import mx.controls.Image;
          
          public class @ax-student-mma-16-Logo-LogoPart extends Image
          {
                  public var originX:Number = 0;
                  public var originY:Number = 0;
                  
                  private var state:String = "origin";
                  
                  public function @ax-student-mma-16-Logo-LogoPart()
                  {
                          super();
                  }
                  
                  public function moveToCenter():void
                  {
                          if(originX == 0 && originY == 0)
                          {
                                  originX = x;
                                  originY = y;
                          }
                          
                          if(state == "toOrigin")
                                  removeEventListener(Event.ENTER_FRAME, toOrigin);
                          
                          state = "toCenter";
                          addEventListener(Event.ENTER_FRAME, toCenter);
                  }
                  
                  private function toCenter(event:Event):void
                  {
                          if(x > 0)
                                  x--;
                          else if(x < 0)
                                  x++;
                          
                          if(y > 0)
                                  y--;
                          else if(y < 0)
                                  y++;
                                  
                          if(y == 0 && x == 0)
                          {
                                  removeEventListener(Event.ENTER_FRAME, toCenter);
                                  state = "center";
                          }
                  }
                  
                  public function moveBack():void
                  {
                          if(state == "toCenter")
                                  removeEventListener(Event.ENTER_FRAME, toCenter);
                          
                          state = "toOrigin";
                          addEventListener(Event.ENTER_FRAME, toOrigin);
                  }
                  
                  private function toOrigin(event:Event):void
                  {
                          if(x > originX)
                                  x--;
                          else if(x < originX)
                                  x++;
                          
                          if(y < originY)
                                  y++;
                          else if(y > originY)
                                  y--;
                          
                          if(x == originX && y == originY)
                                  removeEventListener(Event.ENTER_FRAME, toOrigin);
                  }
          }
  }
  


(C) Æliens 04/09/2009

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.