演出練習3

by Nowloading_ forked from 演出練習1 (diff: 14)
上部:虹色
下部:紅白
♥2 | Line 82 | Modified 2010-10-30 21:53:42 | MIT License
play

ActionScript3 source code

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

// forked from ton_'s 演出練習1
package {
    import flash.utils.Timer;    
    import flash.display.Shape;
    import flash.display.Sprite;
    import flash.display.BitmapData;
    import flash.display.Bitmap;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.events.TimerEvent;
    import frocessing.core.F5Graphics2D;
    import frocessing.core.F5BitmapData2D;
      
    [SWF(width=465,height=465,backgroundColor=0,frameRate = 40)]
    public class SampleF5Bmp2D extends Sprite {
        private var _wy:int = 210;
        private var _fg:F5Graphics2D;
        private var _fb1:F5BitmapData2D;
        private var _fb2:F5BitmapData2D;
        private var tim1:Timer;
        
        //メインファンクション
        public function SampleF5Bmp2D() {
            drawBack();
            setWin();
            tim1 = new Timer(33,20);//TIMERの設定(間隔[ms],回数)
            stage.addEventListener(MouseEvent.MOUSE_DOWN,start);
        }
        //上下枠の描画(F5Graphics2Dによる)
        private function drawBack():void{
            _fg = new F5Graphics2D( graphics );
            _fg.colorMode( "hsv", 465, 1, 465 ); //HSVモード            
            //演出ウインドウ
            _fg.strokeWeight(3);
            _fg.fill(255,0.2);
            _fg.stroke(255);
            _fg.rect(9, 24, 445, 190, 30, 15);
            _fg.rect(9, _wy+24, 445, 190, 30, 15);
            _fg.fill(255,0.5);
            _fg.rect(39, 24, 385, 190, 10, 10);
            _fg.rect(39, _wy+24, 385, 190, 10, 10);
        }   
        //上下枠内の描画設定(F5BitmapData2Dによる)
        public function setWin():void{
            _fb1 = new F5BitmapData2D( 377, 182, false, 0 );            
            _fb1.blendMode = "add";       
            _fb1.colorMode( "hsv", 377,1,10,255);
            var bit1:Bitmap = new Bitmap(_fb1.bitmapData);
            bit1.x=43;
            bit1.y=28;
            addChild(bit1); 

            _fb2 = new F5BitmapData2D( 377, 182, false, 0 );            
            _fb2.blendMode = "add";       
            _fb2.colorMode( "rgb", 1,1,1,255);
            var bit2:Bitmap = new Bitmap(_fb2.bitmapData);
            bit2.x=43;
            bit2.y=238;
            addChild(bit2);             
        }
        //MOUSE_DOWN時に実行
        private function start(e:MouseEvent):void{
            tim1.reset();
            tim1.addEventListener(TimerEvent.TIMER,draw);
            tim1.start();
        }
        //上下枠内への描画(F5BitmapData2D,上部→_fb1.下部→_fb2.)
        private function draw(e:Event):void{
            for (var i:int = 0;i<5;i++){
                _fb1.beginDraw();             
                var cx:int = Math.random()*364;
                var cy:int = Math.random()*260;            
                _fb1.fill(cx+100,1,10,Math.random()*45);
                _fb1.noStroke();      
                _fb1.circle(cx,cy,Math.random()*30+10);
                //_fb1.fill(cx+100,1,4,30);
                //_fb1.circle(cx+8,cy+8,Math.random()*30+10);
                _fb1.endDraw(); 
                
                _fb2.beginDraw();    
                var cx2:int = Math.random()*364;
                var cx2_2:int = (cx2/60)%2;
                var cy2:int = Math.random()*260; 
                if (cx2_2==0){
                    _fb2.fill(1,0,0,Math.random()*45);
                }else{
                    _fb2.fill(1,1,1,Math.random()*45);
                }
                _fb2.noStroke();        
                _fb2.circle(cx2,cy2,Math.random()*30+10);
                //_fb2.circle(cx2+12,cy2+12,Math.random()*30+10);
                _fb2.endDraw(); 
            }
        }
    }
}