flash on 2009-5-17
Stripes.as
*
/************************************
*
*Stripes.as
*
***********************************/
package
{
import gs.TweenLite;
import gs.easing.*;
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.events.Event;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;
import flash.text.AntiAliasType;
import flash.events.TimerEvent;
import flash.utils.Timer;
public class Stripes extends MovieClip
{
private var sw:uint;
private var sh:uint;
private var numStripes:uint=Math.floor(Math.random() * 140) + 60;
private var stripew:uint;
private var stripes:Array;
private var timer:Timer;
private var delay:Number=100;
//___________________________________________________________コンストラクタ
public function Stripes ()
{
init();
}
//___________________________________________________________初期化メソッド
private function init ():void
{
sw=stage.stageWidth;
sh=stage.stageHeight;
timer=new Timer(delay,numStripes);
timer.addEventListener (TimerEvent.TIMER,onTimerGrow);
timer.start ();
setStripes ();
}
//___________________________________________________________set stripes to stage
private function setStripes ():void
{
stripes=new Array ;
for (var i:int=0; i < numStripes; i++)
{
stripes[i]=new Sprite ;
stripes[i].graphics.beginFill (getRandomColor());
stripes[i].graphics.drawRect (0,0,sw / numStripes,0.1);
stripes[i].graphics.endFill ();
stripes[i].x=sw / numStripes * i;
stripes[i].cacheAsBitmap=true;
addChild (stripes[i]);
}
}
//___________________________________________________________描画する線を作成
private function changeStripesColor ():void
{
for (var i:int=0; i < numStripes; i++)
{
stripes[i].graphics.beginFill (getRandomColor());
stripes[i].graphics.drawRect (0,0,sw / numStripes,0.1);
stripes[i].graphics.endFill ();
}
}
//___________________________________________________________カラーをランダム生成
private function getRandomColor ():uint
{
var v:uint=Math.random() * 0xFFFFFF;
return v;
}
//___________________________________________________________make stripes grow
var cnt:uint=0;
var duration=2;
private function onTimerGrow (event:TimerEvent):void
{
TweenLite.to (stripes[cnt],duration,{height:sh,alpha:1.0,tint:getRandomColor(),ease:Bounce.easeOut});
if (cnt < numStripes - 1)
{
cnt++;
}
else
{
cnt=0;
timer.removeEventListener (TimerEvent.TIMER,onTimerGrow);
timer.reset ();
if (timer.running == false)
{
timer.addEventListener (TimerEvent.TIMER,onTimerShorten);
timer.start ();
}
}
}
//___________________________________________________________make stripes shorten
private function onTimerShorten (event:TimerEvent):void
{
TweenLite.to (stripes[cnt],duration,{height:0.1,alpha:0,ease:Sine.easeOut});
if (cnt < numStripes - 1)
{
cnt++;
}
else
{
cnt=0;
timer.removeEventListener (TimerEvent.TIMER,onTimerShorten);
timer.reset ();
if (timer.running == false)
{
timer.addEventListener (TimerEvent.TIMER,onTimerGrow);
timer.start ();
}
}
}
}
}