Flash / Flex / ActionScript/Graphics/Shape

Материал из Web эксперт
Версия от 08:15, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Custom Graphical Classes

 
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);
    }
  }
}



Filling a Shape with a Gradient

 
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);
    }
  }
}



Filling a Shape with a Solid or Translucent Color

 
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);
    }
  }
}



Filling Shapes

 
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();
        }
    }
}



Shape Demo

 
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);
   }
}
}