//図形の表示
class GraphicsEx {
//コンストラクタ
function GraphicsEx (mc:MovieClip) {
//線の追加
var line:MovieClip=addLine(mc,0,0,0,40,0xff0000);
line.setXY(25,5);
//矩形の追加
var rect:MovieClip=addRect(mc,40,40,0x55ff55,0,0x00ff00);
rect.setXY(5,55);
//ポリラインの追加
var plX:Array=[0,40,10,50, 5];
var plY:Array=[0,10,20,35,50];
var polyline:MovieClip=addPolygon(mc,plX,plY,0x0000ff);
polyline.setXY(55,5);
//ポリゴンの追加
var pgX=[20,30,40,10,0];
var pgY=[0,5,40,30,20];
var polygon:MovieClip=addPolygon(mc,pgX,pgY,0xffff66,0,0xffff66);
polygon.setXY(55,55);
}
//線の追加
static function addLine(parent:MovieClip,
x0:Number,y0:Number,x1:Number,y1:Number,
color:Number,thick:Number):MovieClip {
//初期値
if (color==undefined) color=0;
if (thick==undefined) thick=0;
//インスタンス名の自動生成
if (parent.nameIdx==undefined) parent.nameIdx=0;
var name:String="_name"+(parent.nameIdx++);
//ラインの追加
parent.createEmptyMovieClip(name,
parent.getNextHighestDepth());
var mc:MovieClip=parent[name];
mc.lineStyle(thick,color);
mc.moveTo(x0,y0);
mc.lineTo(x1,y1);
//XY座標の指定
mc.setXY=function(_x:Number,_y:Number) {
this._x=_x;
this._y=_y;
}
return mc;
}
//矩形の追加
static function addRect(parent:MovieClip,
w:Number,h:Number,color:Number,thick:Number,bgColor:Number):MovieClip {
//初期値
if (color ==undefined) color =0;
if (thick ==undefined) thick =0;
if (bgColor==undefined) bgColor=-1;
//インスタンス名の自動生成
if (parent.nameIdx==undefined) parent.nameIdx=0;
var name:String="_name"+(parent.nameIdx++);
//矩形の追加
parent.createEmptyMovieClip(name,
parent.getNextHighestDepth());
var mc:MovieClip=parent[name];
if (bgColor>=0) mc.beginFill(bgColor);
mc.lineStyle(thick,color);
mc.moveTo(0,0);
mc.lineTo(w,0);
mc.lineTo(w,h);
mc.lineTo(0,h);
mc.lineTo(0,0);
if (bgColor>=0) mc.endFill();
//XY座標の指定
mc.setXY=function(_x:Number,_y:Number) {
this._x=_x;
this._y=_y;
}
return mc;
}
//ポリゴンの追加
static function addPolygon(parent:MovieClip,
x:Array,y:Array,color:Number,thick:Number,bgColor:Number):MovieClip {
//初期値
if (color ==undefined) color =0;
if (thick ==undefined) thick =0;
if (bgColor==undefined) bgColor=-1;
//インスタンス名の自動生成
if (parent.nameIdx==undefined) parent.nameIdx=0;
var name:String="_name"+(parent.nameIdx++);
//ポリゴンの追加
parent.createEmptyMovieClip(name,
parent.getNextHighestDepth());
var mc:MovieClip=parent[name];
if (bgColor>=0) mc.beginFill(bgColor);
mc.lineStyle(thick,color);
mc.moveTo(x[0],y[0]);
for (var i:Number=1;i<x.length;i++) {
mc.lineTo(x[i],y[i]);
}
if (bgColor>=0) mc.endFill();
//XY座標の指定
mc.setXY=function(_x:Number,_y:Number) {
this._x=_x;
this._y=_y;
}
return mc;
}
//メイン
static function main() {
var app:GraphicsEx=new GraphicsEx(_root);
}
}
|