Flash / Flex / ActionScript/Graphics/Circle

Материал из Web эксперт
Перейти к: навигация, поиск

Circle Clicker

 
package {
  import flash.display.*;
  import flash.events.*;
  public class Main extends Sprite {
    public function Main() {
      stage.addEventListener(MouseEvent.CLICK, clickListener);
    }
    private function clickListener (e:MouseEvent):void {
      if (e.target == stage) {
        drawCircle(e.stageX, e.stageY);
      } else {
        removeChild(DisplayObject(e.target));
      }
    }
    public function drawCircle (x:int, y:int):void {
      var randomColor:int = Math.floor(Math.random(  )*0xFFFFFF);
      var randomSize:int = 10 + Math.floor(Math.random(  )*150);
      var circle:Sprite = new Sprite(  )
      circle.graphics.beginFill(randomColor, 1);
      circle.graphics.lineStyle(  );
      circle.graphics.drawEllipse(0, 0, randomSize, randomSize);
      circle.x = x-randomSize/2;
      circle.y = y-randomSize/2;
      addChild(circle);
    }
  }
}



Create a circle shape

 
package {
  import flash.display.*;
  public class DisplayListExample extends Sprite {
    public function DisplayListExample(  ) {
      var red:Shape = createCircle( 0xFF0000, 10 );
      red.x = 10;
      red.y = 20;
      var green:Shape = createCircle( 0x00FF00, 10 );
      green.x = 15;
      green.y = 25;
      var blue:Shape = createCircle( 0x0000FF, 10 );
      blue.x = 20;
      blue.y = 20;
      
      var container1:Sprite = new Sprite(  );
      container1.addChild( red );
      container1.addChild( green );
      container1.addChild( blue );
      
      addChild( container1 );
      
      var container2:Sprite = new Sprite(  );
      addChild( container2 );
      
      container2.addChild( red );
    }
    
    public function createCircle( color:uint, radius:Number ):Shape {
      var shape:Shape = new Shape(  );
      shape.graphics.beginFill( color );
      shape.graphics.drawCircle( 0, 0, radius );
      shape.graphics.endFill(  );
      return shape;
    }
  }
}



Create Rectangle and Circle

 
package {
  import flash.display.*;
  import flash.text.TextField;
  public class GreetingApp extends Sprite {
    public function GreetingApp(  ) {
      var rectAndCircle:Shape = new Shape(  );
      rectAndCircle.graphics.lineStyle(1);
      rectAndCircle.graphics.beginFill(0x0000FF, 1);
      rectAndCircle.graphics.drawRect(125, 0, 150, 75);
      rectAndCircle.graphics.beginFill(0xFF0000, 1);
      rectAndCircle.graphics.drawCircle(50, 100, 50);
      rectAndCircle.x = 125;
      rectAndCircle.y = 100;
      addChild(rectAndCircle);
      var greeting_txt:TextField = new TextField(  );
      greeting_txt.text = "Hello world";
      greeting_txt.x = 200;
      greeting_txt.y = 300;
      addChild(greeting_txt);
    }
  }
}



Creating Custom Visual Classes

 
package {
  import flash.display.Sprite;
  import flash.display.Shape;  
  public class Main extends Sprite {
    public function Main(  ) {
      var red:Circle = new Circle( 0xFF0000, 10 );
      red.x = 10;
      red.y = 20;
      var green:Circle = new Circle( 0x00FF00, 10 );
      green.x = 15;
      green.y = 25;
      var blue:Circle = new Circle( 0x0000FF, 10 );
      blue.x = 20;
      blue.y = 20;
        
      addChild( red );
      addChild( green );
      addChild( blue );
    }
  }
}
class Circle extends flash.display.Shape {
  
    private var _color:uint;
    private var _radius:Number;
    
    public function Circle( color:uint = 0x000000, radius:Number = 10 ) {
      _color = color;
      _radius = radius;
      
      draw(  );
    }
    
    private function draw(  ):void {
      graphics.beginFill( _color );
      graphics.drawCircle( 0, 0, _radius );
      graphics.endFill(  );
    }
  }



Fill a circle

 
package {
    import flash.display.GradientType;
    import flash.display.Sprite;
    import flash.geom.Matrix;
         
    public class Main extends Sprite {
    
         public function Main() {
              var colors:Array = [];
              var pMatrix:Matrix = new Matrix();
              pMatrix.createGradientBox(70, 70, 0, -45, -32);
              graphics.beginGradientFill(GradientType.RADIAL, [0xFF0000,0x330000], [1,1], [0,0xFF], pMatrix);
              graphics.drawCircle(0, 0, 25);
              graphics.endFill();
         }
    
    }
}