flash on 2010-3-24

by aass
♥0 | Line 44 | Modified 2010-03-24 19:42:03 | MIT License
play

ActionScript3 source code

/**
 * Copyright aass ( http://wonderfl.net/user/aass )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/qpst
 */

package {
    import flash.display.BlendMode;
    import flash.display.Sprite;
    import caurina.transitions.Tweener;
    import caurina.transitions.properties.ColorShortcuts;

    [SWF(width=465, height=465, frameRate=30, backgroundColor=0)]

    public class FlashTest extends Sprite {
    	
       public static const BALL_RADIUS:uint = 10;
       public static const BALL_MARGIN:uint = 10;
       
       public function FlashTest() {
           //  ColorShortcuts を有効化
           ColorShortcuts.init();
           
            //  ball の横と横の個数を計算
            var l:uint = Math.ceil(stage.stageWidth / (BALL_RADIUS * 2 + BALL_MARGIN));
            var m:uint = Math.ceil(stage.stageHeight / (BALL_RADIUS * 2 + BALL_MARGIN));
            
            for (var i:int=0; i<l; i++) {
            		for(var j:int=0; j<m; j++) {
            			//ballを作成
            			var ball:Sprite = new Sprite();
                     ball.x = i * (BALL_RADIUS * 2 + BALL_MARGIN) + (BALL_RADIUS + BALL_MARGIN);
                     ball.y = j * (BALL_RADIUS * 2 + BALL_MARGIN) + (BALL_RADIUS + BALL_MARGIN);
                     ball.alpha = 0.5;
                     ball.blendMode = BlendMode.HARDLIGHT;
                     ball.graphics.beginFill(0xffffff);
                     ball.graphics.drawCircle(0,0,BALL_RADIUS);
                     ball.graphics.endFill();
                     addChild(ball);
                     changeColor(ball);
            		}
            }
        }
        private function changeColor(ball:Sprite):void{
        		// ランダムで色とスケールを指定
        		var color:uint = Math.random() * 255 << 16 | Math.random() * 255 << 8 | Math.random() * 255 << 0;
        		var scale:Number = Math.random() * 3;
        		
        		Tweener.addTween(ball,{
        			scaleX: scale,
        			scaleY: scale,
        			_color: color,
        			time:Math.random()*4+1,
        			delay:Math.random()*1+1,
        			transition:"easeInOutSine",
        			onComplete:changeColor,
        			onCompleteParams:[ball]
        		});
        }
    }
}