// write as3 code here.. package { import flash.display.MovieClip; import flash.text.* public class Foo extends MovieClip { public function Foo() { var sp:polygonLine = new polygonLine(120,7); sp.x = stage.stageWidth / 2; sp.y = stage.stageHeight / 2; addChild(sp); var _tf:TextField = new TextField; _tf.text = 'はろーわんだふる'; _tf.x = stage.stageWidth / 2 - _tf.width/2; _tf.y = stage.stageHeight /2; addChild(_tf); } } } import flash.display.Sprite; class polygonLine extends Sprite { public var radius:Number; public var color:uint; public var vertex:int; public function polygonLine(radius:Number=40,vertex:int=6,color:uint=0xff0000) { this.radius = radius; this.color = color; this.vertex = vertex; init(); } public function init():void { //角度 var rad:Number = 2*Math.PI/vertex; //頂点の座標 var x:Number = radius*Math.cos(0); var y:Number = radius*Math.sin(0); //ラインスタイル graphics.beginFill(color); //graphics.lineStyle(1,color,1.0); //ポイントを移動 graphics.moveTo(x,y); //頂点数でループ for(var i:int = 1;i<vertex;i++){ //各頂点の座標を求める x = radius*Math.cos(rad*i); y = radius*Math.sin(rad*i); trace('x:'+x+' y:'+y); //線を引く graphics.lineTo(x,y); } //線を引く(最後) x = radius*Math.cos(0); y = radius*Math.sin(0); graphics.lineTo(x,y); graphics.endFill(); } } 赤い多角形