|
Modus ponens
модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
|
 Код:
import flash.display.BitmapData;
import flash.geom.Matrix;
import flash.geom.Rectangle;
import flash.filters.BevelFilter;
import flash.filters.GlowFilter;
class GFX {
private static var __counter:Number = 0;
public static function rct(_mc:MovieClip, w:Number, h:Number, c:Number, a:Number, lc:Number):MovieClip {
var mc:MovieClip = _mc.createEmptyMovieClip("rct"+counter, _mc.getNextHighestDepth());
mc.beginFill(c,a);
if(lc!=undefined){
mc.lineStyle(1,lc,100);
}
mc.moveTo(0,0);
mc.lineTo(w,0);
mc.lineTo(w,h);
mc.lineTo(0,h);
mc.lineTo(0,0);
mc.endFill();
return mc;
}
public static function rctLR(_mc:MovieClip, w:Number, h:Number, c:Number, a:Number, r:Number):MovieClip {
var mc:MovieClip = _mc.createEmptyMovieClip("rctLR"+counter, _mc.getNextHighestDepth());
mc.beginFill(c,a);
mc.moveTo(0,r);
mc.curveTo(0,0,r,0);
mc.lineTo(w,0);
mc.lineTo(w,h);
mc.lineTo(0,h);
mc.lineTo(0,r);
mc.endFill();
return mc;
}
public static function rctLRBR(_mc:MovieClip, w:Number, h:Number, c:Number, a:Number, r:Number):MovieClip {
var mc:MovieClip = _mc.createEmptyMovieClip("rctLRBR"+counter, _mc.getNextHighestDepth());
var mtx:Matrix = new Matrix();
mtx.createGradientBox(w, h);
_mc.beginGradientFill("linear", [c,0xffffff],[a,a],[0,255], mtx);
mc.moveTo(0,r);
mc.curveTo(0,0,r,0);
mc.lineTo(w,0);
mc.lineTo(w,h-r);
mc.curveTo(w,h,w-r,h);
mc.lineTo(0,h);
mc.lineTo(0,r);
mc.endFill();
return mc;
}
public static function rctLRR(_mc:MovieClip, w:Number, h:Number, c:Number, a:Number, r:Number):MovieClip {
var mc:MovieClip = _mc.createEmptyMovieClip("rctLR"+counter, _mc.getNextHighestDepth());
mc.beginFill(c,a);
mc.moveTo(0,r);
mc.curveTo(0,0,r,0);
mc.lineTo(w-r,0);
mc.curveTo(w,0,w,r);
mc.lineTo(w,h);
mc.lineTo(0,h);
mc.lineTo(0,r);
mc.endFill();
return mc;
}
public static function fork(_mc:MovieClip, w:Number, h:Number, c:Number, a:Number, lc:Number):MovieClip {
var mc:MovieClip = _mc.createEmptyMovieClip("rct"+counter, _mc.getNextHighestDepth());
mc.beginFill(c,a);
if(lc!=undefined){
mc.lineStyle(1,lc,100);
}
mc.moveTo(0,-h/8);
mc.lineTo(w,0);
mc.lineTo(1,h/8);
mc.lineTo(1,h*7/8);
mc.lineTo(w,h);
mc.lineTo(0,h*9/8);
mc.lineTo(0,-h/8);
mc.endFill();
return mc;
}
public static function pentacon(_mc:MovieClip, w:Number, h:Number, c:Number, a:Number, lc:Number):MovieClip {
var mc:MovieClip = _mc.createEmptyMovieClip("pntc"+counter, _mc.getNextHighestDepth());
if(lc!=undefined){
mc.lineStyle(1,lc,100);
}
mc.beginFill(c,a);
mc.moveTo(0,h/3);
mc.lineTo(w/2,0);
mc.lineTo(w,h/3);
mc.lineTo(w,h);
mc.lineTo(0,h);
mc.lineTo(0,h/3);
mc.endFill();
return mc;
}
public static function drct(_mc:MovieClip, w:Number, h:Number, c:Number, a:Number):MovieClip {
var mc:MovieClip = _mc.createEmptyMovieClip("drct"+counter, _mc.getNextHighestDepth());
mc.beginFill(c,a);
mc.moveTo(0,0);
mc.lineTo(w/3,0);
mc.lineTo(w/3,h);
mc.lineTo(0,h);
mc.lineTo(0,0);
mc.moveTo(w*2/3,0);
mc.lineTo(w,0);
mc.lineTo(w,h);
mc.lineTo(w*2/3,h);
mc.lineTo(w*2/3,0);
mc.endFill();
return mc;
}
public static function lrct(_mc:MovieClip, w:Number, h:Number, c:Number, a:Number):MovieClip {
var mc:MovieClip = _mc.createEmptyMovieClip("lrct"+counter, _mc.getNextHighestDepth());
mc.beginFill(0,0);
mc.lineStyle(1,c,a,true,"none");
mc.moveTo(0,0);
mc.lineTo(w,0);
mc.lineTo(w,h);
mc.lineTo(0,h);
mc.lineTo(0,0);
mc.endFill();
return mc;
}
public static function lfrct(_mc:MovieClip, w:Number, h:Number, c:Number, a:Number, cl:Number):MovieClip {
var mc:MovieClip = _mc.createEmptyMovieClip("lfrct"+counter, _mc.getNextHighestDepth());
mc.beginFill(c,a);
mc.lineStyle(1,cl,100,true,"none");
mc.moveTo(0,0);
mc.lineTo(w-1,0);
mc.lineTo(w-1,h-1);
mc.lineTo(0,h-1);
mc.lineTo(0,0);
mc.endFill();
return mc;
}
public static function crl(mc:MovieClip, r:Number, c:Number, a:Number):MovieClip {
var _mc:MovieClip = mc.createEmptyMovieClip("crl"+counter, mc.getNextHighestDepth());
var c1:Number=r*(Math.SQRT2-1);
var c2:Number=r*Math.SQRT2/2;
var d:Number = r*2;
_mc.beginFill(c,a);
_mc.moveTo(d,r);
_mc.curveTo(d,r+c1,r+c2,r+c2);
_mc.curveTo(r+c1,d,r,d);
_mc.curveTo(r-c1,d,r-c2,r+c2);
_mc.curveTo(0,r+c1,0,r);
_mc.curveTo(0,r-c1,r-c2,r-c2);
_mc.curveTo(r-c1,0,r,0);
_mc.curveTo(r+c1,0,r+c2,r-c2);
_mc.curveTo(d,r-c1,d,r);
_mc.endFill();
return _mc;
}
public static function gcrl(mc:MovieClip, r:Number, c:Array, a:Array, o:Object):MovieClip {
var _mc:MovieClip = mc.createEmptyMovieClip("crl"+counter, mc.getNextHighestDepth());
var c1:Number=r*(Math.SQRT2-1);
var c2:Number=r*Math.SQRT2/2;
var d:Number = r*2;
var mtx:Matrix = new Matrix();
mtx.createGradientBox(r*2, r*2, o._rotation);
_mc.beginGradientFill("linear", c,a,[0,128,255], mtx);
_mc.lineStyle(2, o._lineColor, 100, false);
_mc.moveTo(d,r);
_mc.curveTo(d,r+c1,r+c2,r+c2);
_mc.curveTo(r+c1,d,r,d);
_mc.curveTo(r-c1,d,r-c2,r+c2);
_mc.curveTo(0,r+c1,0,r);
_mc.curveTo(0,r-c1,r-c2,r-c2);
_mc.curveTo(r-c1,0,r,0);
_mc.curveTo(r+c1,0,r+c2,r-c2);
_mc.curveTo(d,r-c1,d,r);
_mc.endFill();
var b_f:BevelFilter = new BevelFilter(5, 90, 0xffffff, 30, 0x666666, 30, 2, 20, 1, 2);
_mc.filters = new Array(b_f);
return _mc;
}
public static function hrct(_mc:MovieClip, w:Number, h:Number, c:Number, a:Number):MovieClip {
var mc:MovieClip = _mc.createEmptyMovieClip("rct"+counter, _mc.getNextHighestDepth());
mc.beginFill(c,a);
mc.lineStyle(Styles.__linestyle.w,Styles.__linestyle.c,Styles.__linestyle.a,true);
mc.moveTo(0,0);
mc.lineTo(w,0);
mc.lineTo(w,h);
mc.lineTo(0,h);
mc.lineTo(0,0);
mc.moveTo(2,2);
mc.lineTo(w-2,2);
mc.lineTo(w-2,h-2);
mc.lineTo(2,h-2);
mc.lineTo(2,2);
mc.endFill();
return mc;
}
public static function rounded(_mc:MovieClip, w:Number, h:Number, c:Number, a:Number, r:Number, lc:Number):MovieClip {
var mc:MovieClip = _mc.createEmptyMovieClip("rnd"+counter, _mc.getNextHighestDepth());
if(lc!=undefined){
mc.lineStyle(1,lc,100);
}
mc.beginFill(c,a);
mc.moveTo(r,0);
mc.lineTo(w-r,0);
mc.curveTo(w,0,w,r);
mc.lineTo(w,h-r);
mc.curveTo(w,h,w-r,h);
mc.lineTo(r,h);
mc.curveTo(0,h,0,h-r);
mc.lineTo(0,r);
mc.curveTo(0,0,r,0);
mc.endFill();
return mc;
}
public static function ground(_mc:MovieClip, w:Number, h:Number, c:Array, a:Array, r:Number):MovieClip {
var mc:MovieClip = _mc.createEmptyMovieClip("rnd"+counter, _mc.getNextHighestDepth());
var mtx:Matrix = new Matrix();
mtx.createGradientBox(w,h,Math.PI/2);
mc.beginGradientFill("linear",c,a,[0,255],mtx);
mc.moveTo(r,0);
mc.lineTo(w-r,0);
mc.curveTo(w,0,w,r);
mc.lineTo(w,h-r);
mc.curveTo(w,h,w-r,h);
mc.lineTo(r,h);
mc.curveTo(0,h,0,h-r);
mc.lineTo(0,r);
mc.curveTo(0,0,r,0);
mc.endFill();
var g_f:GlowFilter = new GlowFilter(0xe2e2e2,1,8,8,2,1);
mc.filters = new Array(g_f);
return mc;
}
2b continued...
__________________
Hell is the possibility of sanity
|