Flash / Flex / ActionScript/Graphics/Shape
Содержание
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);
}
}
}