« flexのこれから。 | メイン | flashでフルスクリーン »

初めてのflexとactionscript3

AS3で組んでみた。
なんか3秒に1回くらい止まるけど、この数で動くんだからたいしたもの、、、なのか??
比較してないからわかんない。
上の黒いとこクリックでスタート
particleTest.as
package {
	import flash.display.*;
	import flash.events.*;
	import com.Dot;

	public class particleTest extends Sprite{
		
		private var imageArray:Array = new Array();
		private var base:Sprite;
		private var flg:Boolean = false;
		
		public function particleTest(){
			
			stage.scaleMode = StageScaleMode.NO_SCALE;
			stage.align = StageAlign.TOP_LEFT;
			
			base = new Sprite();
			base.graphics.beginFill(0x333333);
			base.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
			base.graphics.endFill();
			addChild(base);
			
			// ボタン
			base.addEventListener(MouseEvent.MOUSE_DOWN, baseClick);		}
		
		private var i:uint = 0;
		private function baseEnterFrame(e:Event):void{
			
			for(var i:int = 0; i < imageArray.length; i++){
				if(imageArray[i].move()) continue;
				
				base.removeChild(imageArray[i]);
				imageArray.splice(i, 1);
			}
			
			for(var j:int = 0; j < 40; j++){
				var clip:Dot = new Dot();
				
				clip.x = Math.random() * stage.stageWidth;
				clip.y = 0;
				
				base.addChild(clip);
				imageArray.push(clip);
			}
		}
		
		private function baseClick(e:Event):void{
			if(flg){
				flg = false;
				stage.removeEventListener(Event.ENTER_FRAME, baseEnterFrame);
				
			} else{
				flg = true;
				stage.addEventListener(Event.ENTER_FRAME, baseEnterFrame);
			}
		}
	}
}

Dot.as
package com{
	import flash.display.Sprite;
	import flash.display.Shape;
	
	public class Dot extends Sprite{
		
		private var dot:Sprite;
		private var mySpeed:Number;
		
		public function Dot(){
			
			var rndNum:int = Math.ceil(Math.random() * 3)
			
			dot = new Sprite();
			dot.graphics.beginFill(0xffffff);
			dot.graphics.drawRect(0, 0, rndNum, rndNum);
			dot.graphics.endFill();
			
			dot.cacheAsBitmap = true;
			
			mySpeed = Math.ceil(Math.random() * 8)
			
			addChild(dot);
		}
		
		public function move():Boolean{

			if(dot.y > stage.stageHeight + 10) return false;
			
			dot.y += mySpeed;
			mySpeed = mySpeed * 1.1;
			return true;
		}
	}
}

トラックバック

このエントリーのトラックバックURL:
http://www.growegg.com/cgi-bin/mt/mt-tb.cgi/3

コメントを投稿