Subscribe to RSS Feed ログイン

FLASH備忘6|ActionScriptやらWordPressやらを楽しむ会

Saturday
2010年9月11日

z座標を使ったActionScript 3.0(明度変化あり版)

遠くにある物体ほど、白くぼやけてみえるようにしたいということから、

ネットで検索してみるとTweenerでスクリプトを書くと簡単にできるということで、

Tweenerをはじめて導入しました。

使用したのはColorShortcutsとbrightnessです。

しくみを理解するのに結構時間がかかりました。

追加スクリプト

  ColorShortcuts.init();
   Tweener.addTween(box,{_brightness:2.7,time:10,transition:"linear"});

コメント(0)続きを読む

z座標を使ったActionScript 3.0(改良版)

自然になるように修正しました。

 

 

  
var numB:int=300;
var size:int=50;
var boxs:Array = new Array();
for (var i:int = 0; i < numB; i++) {
 var hen:int=Math.random()*8300-300;
 var col:int=0xffffff*Math.random();
 var box:Sprite = new Sprite();
 box.graphics.beginFill(col);
 box.graphics.drawRect(0,0,size,size);
 box.x=Math.random()*stage.stageWidth*2-stage.stageWidth/2;
 box.y=Math.random()*stage.stageHeight*2-stage.stageHeight/2;
 box.z=hen;
 addChild(box);
 boxs.push(box);
}
addEventListener(Event.ENTER_FRAME, onEF);

function onEF(e:Event):void {
 for (var i:int = 0; i < numB; i++) {
  if (box.z<8000) {
   box=boxs[i];
   box.z+=10;
   /*var xal:int = box.z;
   box.alpha = (3000 - xal) / 3000;*/

  } else {
   box.z=-300;
   box.x=Math.random()*stage.stageWidth*2-stage.stageWidth/2;
   box.y=Math.random()*stage.stageHeight*2-stage.stageHeight/2;

   setChildIndex(box, numChildren - 1);
  }
 }
}

コメント(0)続きを読む

z座標を使ったActionScript 3.0

 

Flash CS4を手に入れたこともあり、早速z座標を使ってみます。

  
var numB:int=100;
var boxs:Array = new Array();
for (var i:int = 0; i < numB; i++) {
 var sW:int=stage.stageWidth*Math.random();
 var sH:int=stage.stageHeight*Math.random();
 var hen:int=Math.random()*8000;
 var col:int=0xffffff*Math.random();

 var box:Sprite = new Sprite();
 box.graphics.beginFill(col);
 box.graphics.drawRect(0,0,200,200);
 box.x=sW;
 box.y=sH;
 box.z=hen;
 addChild(box);
 boxs.push(box);
}
addEventListener(Event.ENTER_FRAME, onEF);

function onEF(e:Event):void {
 for (var i:int = 0; i < numB; i++) {
  if (box.z<8000) {
   box=boxs[i];
   box.z+=10;
   /*var xal:int = box.z;
   box.alpha = (3000 - xal) / 3000;*/
   
  } else {
   box.z=0;
   var flag:int = 2 * Math.random();
   if(flag == 0){
   box.x = -200 + int(Math.random() * 2) * 750;
   box.y = Math.random() * (stage.stageHeight) - 200;
   }else{
    box.y = -200 + int(Math.random() * 2) * 600;
    box.x = -200 + Math.random() * 750;
   }
   setChildIndex(box, numChildren - 1);
  }
 }
}

コメント(0)続きを読む