Tag Archives: drawRoundRect

draw

graphics.*で描ける矩形の描画テスト
まあ、見てもらえればわかるとおもいます。

ここでは、Shapeオブジェクトに描画して Stageに追加していますが
Spriteや、その他DisplayObjectにも描画できます。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package{
	import flash.display.*;
	import flash.events.*;
	[SWF(width="400", height="250")]
	public class ContextMenuClass extends Sprite{
		public function ContextMenuClass(){
			makeList();
		}
		private function makeList(){
			var shape:Shape = new Shape();
			this.addChild(shape);
			shape.x = 10;
			shape.y = 10;
			shape.graphics.lineStyle(4, 0x999999);
			shape.graphics.beginFill(0xCCCCCC);
			shape.graphics.drawCircle(50,50,50);
			shape.graphics.drawEllipse(110,0,170,100);
			shape.graphics.drawRect(0,110,110,100);
			shape.graphics.drawRoundRect(120,110,200,120,50,50);
		}
	}
}

drawRoundRect

角丸四角形を生成
propatyを渡してくれたら指示通りの角丸四角を返してくれるクラス
propatyオブジェクトのカスタムプロパティは以下

private var propaty:Object;
propaty = {
	propaty.parent,			//親MC
	propaty.id,			//id
	propaty.name,			//ラベル
	propaty.Position,		//基準点
	propaty.width,			//幅
	propaty.height,			//高さ
	propaty.cornerVal,		//角丸値
	propaty.lineSize, 		//線の太さ
	propaty.lineColor,		//線色
	propaty.bodyColor		//胴色
}

以下に上記propatyを投げるとshapeオブジェクトで返される

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package{
	import flash.display.*;
	public class drawRoundRect extends Sprite{
 
		public function drawRoundRect(){}
		public function SET(propaty:Object):Shape{
			//座標の中心を「propaty.Position」がtrueなら真ん中、falseなら左上
			if(propaty.Position){
				var xPos:Number = -propaty.Radius;
				var yPos:Number = -propaty.Radius;
			}
			var shape:Shape = new Shape();
			shape.graphics.lineStyle(propaty.lineSize, propaty.lineColor);
			shape.graphics.beginFill(propaty.bodyColor);
			shape.graphics.drawRoundRect(propaty.xPos, propaty.yPos, propaty.width, propaty.height, propaty.cornerVal, propaty.cornerVal);
			return shape;
		}
	}
}