2006年06月のアーカイブ

AS3でモグラ叩き

AS3の練習を兼ねて、モグラ叩きを作ってみた。このくらいのものなら、AS2とさほど変わらない感じです。 イベントの登録に一貫性があるので、AS2より混乱しなくなったかも。Eclipseが独自変数などを補完してくれるのが一番うれしいですね。 ---( package { import flash.display.MovieClip; import flash.text.TextField; import flash.text.TextFieldType; import flash.display.Graphics; import flash.events.Event; import flash.events.MouseEvent; public class test extends MovieClip { private var score:Number = 0; // スコア private var score_txt:TextField; // スコア表示用 private var counterMogura:Number = 50; // モンスター生成タイミング private var mogura_array:Array; // モンスター管理用 public function test() { mogura_array = new Array(); score_txt = new TextField(); // スコア表示テキストを作成 score_txt.x = 10; score_txt.y = 10; score_txt.type = TextFieldType.DYNAMIC; score_txt.text = "SCORE: 0"; this.addChild(score_txt); this.addEventListener(Event.ENTER_FRAME, this.onEnterFrame); } private function onEnterFrame(event:Event):void {// 毎フレーム発生するイベント counterMogura++; if (counterMogura > 20) { // モンスター出現? counterMogura = 0; if (mogura_array.length < 70) { var mogura_mc:MovieClip = new MovieClip(); // モグラ生成 mogura_mc.graphics.beginFill(Math.random() * 0xFFFF); mogura_mc.graphics.drawEllipse(0,0,30,30); mogura_mc.graphics.endFill(); mogura_mc.x = Math.random() * root.width; mogura_mc.y = Math.random() * root.height; mogura_array.push(mogura_mc); this.addChild(mogura_mc); // イベントの登録 mogura_mc.addEventListener(MouseEvent.CLICK, mogura_onClick); } } else { var i:Number; // モンスターを動かす for (i = 0; i < mogura_array.length; i++) { var mc:MovieClip = mogura_array[i]; mc.x += Math.random() * 24 - 12; mc.y += Math.random() * 24 - 12; } } } private function mogura_onClick(event:Event):void { // モグラをクリックした時のイベント var mc:MovieClip = MovieClip(event.target); var index:Number = mogura_array.indexOf(mc); if (index >= 0) { score++; score_txt.text = score.toString(); mogura_array.splice(index, 1); this.removeChild(mc); mc = null; } } } } ---)
投稿者 kujira : 23:34 | トラックバック

AS3でHello World

おきまりのHello Worldを作ってみました。 ---( package { import flash.display.MovieClip; import flash.text.TextField; import flash.text.TextFieldType; public class test extends MovieClip { public function test() { var txt:TextField = new TextField(); txt.x = 10; txt.y = 10; txt.type = TextFieldType.DYNAMIC; txt.text = "Hello World!"; txt.selectable = false; this.addChild(txt); } } } ---) ※TextFieldTypeには、"DYNAMIC"(入力できない)と"INPUT"(入力可能)の2つが選べるようです。
投稿者 kujira : 17:47 | トラックバック

ActionScript3.0をチェック

ActionScript3.0 をチェックしてみた。画面に赤い丸を描くだけのプログラム。 ---( package { import flash.display.MovieClip; import flash.display.Graphics; public class test extends MovieClip { public function test() { this.graphics.beginFill(0xFF0000); this.graphics.drawCircle(50,50,30); this.graphics.endFill(); } } } ---)
投稿者 kujira : 17:09 | トラックバック