初めてのflexとactionscript3
AS3で組んでみた。
なんか3秒に1回くらい止まるけど、この数で動くんだからたいしたもの、、、なのか??
比較してないからわかんない。
上の黒いとこクリックでスタート
なんか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;
}
}
}