図形を描く

(サンプル一覧を表示する)

FlashDevelop を使って、図形を描くテストをしてみました。
Flash の実行画面
図形を描く

Flashプレーヤーが入っていないか、JavaScriptが無効になっているようです。

Get Adobe Flash player

図形を描く

ソースコード

package 
{
	import flash.display.GradientType;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.geom.Matrix;
	
	/**
	 * 図形を描くサンプル
	 * @author Hikipuro
	 */
	public class Main extends Sprite 
	{
		
		/**
		 * コンストラクタ
		 */
		public function Main():void 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
		
		/**
		 * 初期化イベント
		 * @param	e
		 */
		private function init(e:Event = null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			// entry point
			
			// 線を引く
			graphics.lineStyle(1, 0xff0000);
			graphics.moveTo(10, 10);
			graphics.lineTo(310, 10);
			
			// 四角形を描く (中を塗りつぶさない)
			graphics.lineStyle(1, 0x0000ff);
			graphics.drawRect(10, 20, 300, 10);
			
			// 四角形を描く (中を塗りつぶす)
			graphics.lineStyle(1, 0x0000ff);
			graphics.beginFill(0xcccccc);
			graphics.drawRect(10, 40, 300, 10);
			graphics.endFill();
			
			// 円を描く (中を塗りつぶす)
			graphics.lineStyle(1, 0x00ff00);
			graphics.beginFill(0xffff00);
			graphics.drawCircle(20, 70, 10);
			graphics.endFill();
			
			// 楕円を描く (中を塗りつぶす)
			graphics.beginFill(0xffff00);
			graphics.drawEllipse(50, 60, 60, 20);
			graphics.endFill();
			
			// 角の丸い四角形を描く (中を塗りつぶさない)
			graphics.lineStyle(2, 0x8888ff, 1.0, true);
			graphics.drawRoundRect(10, 90, 200, 30, 20, 20);
			
			// グラデーションのかかった線を描く
			var colors:Array = [0xff0000, 0x0000ff];
			var alphas:Array = [1.0, 1.0];
			var ratios:Array = [0, 255];
			var matrix:Matrix = new Matrix();
			matrix.createGradientBox(310, 6, 0, 0, 0);
			
			graphics.lineStyle(6, 0x000000);
			graphics.lineGradientStyle(GradientType.LINEAR, 
										colors,
										alphas,
										ratios,
										matrix);
			graphics.moveTo(10, 140);
			graphics.lineTo(310, 140);
			
			// グラデーションのかかった四角形を描く
			var colors2:Array = [0x000000, 0x00ff00];
			var alphas2:Array = [1.0, 1.0];
			var ratios2:Array = [0, 255];
			var matrix2:Matrix = new Matrix();
			matrix2.createGradientBox(310, 20, 0, 0, 0);
			
			graphics.lineStyle();
			graphics.beginGradientFill(GradientType.LINEAR, 
										colors2,
										alphas2,
										ratios2,
										matrix2);
			graphics.drawRect(10, 150, 300, 20);
			graphics.endFill();	
			
			// 曲線を描く
			graphics.lineStyle(3, 0x0000ff);
			graphics.moveTo(10, 190);
			graphics.curveTo(10, 240, 310, 230);
		}
		
	}
	
}		

外部リンク