// forked from mezu_01_mona's 処女作 (ドット打ち) package { import flash.display.*; import flash.events.Event; /** * 処女作 * 手本にもなれるようにコメント多目(多用ってレベルじゃねーぞ!) * @author めずもな */ public class HallowWonderfl extends Sprite { // ドットの設定 private const CELL_W:uint = 40; // 幅 private const CELL_H:uint = 40; // 高さ private const BASE_X:uint = 80; // 始点(X座標) private const BASE_Y:uint = 80; // 始点(Y座標) private const CELL_COLOR:uint = 0x5a5a5a; // ドットの色 // ドットデータ用 private const _:Boolean = false; // ドット無 private const A:Boolean = true; // ドット有 // ドットデータ private var dotData:Array = [ [_, A, A, A, _, _, _, _], [A, _, _, _, _, _, _, _], [A, _, _, _, _, _, _, _], [A, A, A, A, _, A, _, A], [A, _, _, _, _, A, _, A], [A, _, _, _, _, _, A, _], [A, _, _, _, _, A, _, A], [A, _, _, _, _, A, _, A] ]; private var appendZ:int = 1; // コンストラクタ public function HallowWonderfl () { // 描写オブジェクト取得 var g:Graphics = graphics; // 1次元目(y座標)の長さを取得し、ループ var len1:uint = dotData.length; for (var i:uint = 0; i < len1; i++) { // 2次元目(x座標)の長さを取得し、ループ var len2:uint = dotData[i].length; for (var j:uint = 0; j < len2; j++) { // その座標にドットがあるかを判定 if (dotData[i][j]) { // 線の無効化 g.lineStyle(0,0,0,false,LineScaleMode.NONE); // フィルはCELL_COLOR定数から拾う g.beginFill(CELL_COLOR-0x050505*i); // 四角を描画 g.drawRect( // X座標 : セルの幅 * x座標 + 始点(x) CELL_W * j + BASE_X, // Y座標 : セルの高さ * y座標 + 始点(y) CELL_H * i + BASE_Y, // 幅 : セルの幅 CELL_W, // 高さ : セルの高さ CELL_H ); // 描画終了 g.endFill(); } // <- ドットの有無の判定の終了 } // <- 2次元目(x座標)のループの終了 } // <- 1次元目(y座標)のループの終了 z = 1; addEventListener(Event.ENTER_FRAME, enterFrameHandler); } // <- コンストラクタの終了 private function enterFrameHandler(event:Event):void { z += appendZ; if (z<200&&z>0) { appendZ++; } else { appendZ--; } } } } forked from: 処女作 (ドット打ち)