Flash / Flex / ActionScript/Graphics/Shape — различия между версиями

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

Текущая версия на 11:15, 26 мая 2010

Custom Graphical Classes

   <source lang="java">

package {

 import flash.display.Shape;
 import flash.display.*;
 public class Rectangle extends Shape {
   public function Rectangle (w:Number,
                              h:Number,
                              lineThickness:Number,
                              lineColor:uint,
                              fillColor:uint) {
     graphics.lineStyle(lineThickness, lineColor);
     graphics.beginFill(fillColor, 1);
     graphics.drawRect(0, 0, w, h);
   }
 }

}

       </source>
   
  


Filling a Shape with a Gradient

   <source lang="java">

package{

 import flash.display.*;
 import flash.ui.*;
 import flash.geom.*;
 public class Main extends Sprite{
   public function Main(){
       var sampleSprite:Sprite = new Sprite();
       var matrix:Matrix = new Matrix(  );
       matrix.createGradientBox(100, 100, 0, 50, 50);
       var colors:Array = [0xFF0000, 0x0000FF];
       var alphas:Array = [100, 100];
       var ratios:Array = [0x00, 0xFF];
       sampleSprite.graphics.lineStyle(  );
 //      sampleSprite.graphics.beginGradientFill(GradientType.GRADIENT, colors, alphas, ratios, matrix);
       sampleSprite.graphics.drawCircle(100, 100, 50);
       sampleSprite.graphics.endFill(  );
       addChild(sampleSprite);
   }
 }

}

       </source>
   
  


Filling a Shape with a Solid or Translucent Color

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       var sampleSprite:Sprite = new Sprite();
       sampleSprite.graphics.lineStyle(  );
       sampleSprite.graphics.beginFill(0x00FF00);
       sampleSprite.graphics.lineTo(100, 0);
       sampleSprite.graphics.lineTo(100, 100);
       sampleSprite.graphics.lineTo(0, 100);
       sampleSprite.graphics.lineTo(0, 0);
       sampleSprite.graphics.endFill(  );
       addChild(sampleSprite);
   }
 }

}

       </source>
   
  


Filling Shapes

   <source lang="java">

package {

   import flash.display.*;
   import flash.events.Event;
   import flash.geom.Matrix;
   import flash.net.URLRequest;
   public class Main extends Sprite
   {
       private var shape:Sprite = new Sprite();
       private var loader:Loader = new Loader();
       private var bmpImage:BitmapData;
   
       public function Main()
       {
           loader.loaderInfo.addEventListener(Event.ruPLETE, picLoaded)
           loader.load(new URLRequest("image1.jpg"));
   
           shape.x = 100;
           shape.y = 200;
       }
   
       private function picLoaded(event:Event):void
       {
           bmpImage = new BitmapData(loader.width, loader.height);
   
           bmpImage.draw(loader);
   
           shape.graphics.lineStyle(25);
           shape.graphics.lineGradientStyle(GradientType.LINEAR, [0x00ff00, 0xff0000], [100, 100], [150, 255]);
   
           var mxBox:Matrix = new Matrix();
           mxBox.createGradientBox(200, 200);
           shape.graphics.lineGradientStyle(GradientType.LINEAR,[0xFFFF00, 0x00FFFF], [100, 100], [0x00, 0xFF], mxBox);
           shape.graphics.beginBitmapFill(bmpImage);
           shape.graphics.drawRect(0, 0, 200, 200);
           shape.graphics.endFill();
       }
   }

}

       </source>
   
  


Shape Demo

   <source lang="java">

package{ import flash.display.Sprite; import flash.display.Shape; public class Main extends Sprite {

  public function Main()
  {
      var shape:Shape = new Shape();
      shape.graphics.beginFill(0x00ff00, 1.0);
      shape.graphics.drawRect(10, 10, 50, 50);
      shape.graphics.endFill();
      addChild(shape);
  }

} }

       </source>