In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

forked from: forked from: Bitmapdata.noise

コマンドのループby俺俺コマンド
Get Adobe Flash player
by northprint 23 Dec 2008
// forked from northprint's forked from: Bitmapdata.noise
// forked from northprint's Bitmapdata.noise
//コマンドのループby俺俺コマンド
// write as3 code here..
package{
    import flash.display.*;
    import flash.events.*;
    import jp.progression.commands.*;
    import jp.progression.events.*;

    public class NoiseTest extends MovieClip{

        private var _bitmapdata:BitmapData;
        private var _bitmap:Bitmap;

        public function NoiseTest(){
            var sList:SerialList = new SerialList();
            var loopList:SerialList = new SerialList();
            _bitmapdata = new BitmapData(stage.stageWidth,stage.stageHeight,true);
            _bitmap = new Bitmap(_bitmapdata);
            this.addChild(_bitmap);
            
            loopList.addCommand(
                function():void{addEventListener(Event.ENTER_FRAME,enterFrameHandler);},
                new Wait(3000),
                function():void{removeEventListener(Event.ENTER_FRAME,enterFrameHandler);},
                function():void{addEventListener(Event.ENTER_FRAME,enterFrameHandler2);},
                new Wait(3000),
                function():void{removeEventListener(Event.ENTER_FRAME,enterFrameHandler2);},
                function():void{addEventListener(Event.ENTER_FRAME,enterFrameHandler3);},
                new Wait(3000),
                function():void{removeEventListener(Event.ENTER_FRAME,enterFrameHandler3);}
            );
            sList.addCommand(new LoopCommand(loopList));
            sList.execute();
        }
    
        private function enterFrameHandler(e:Event):void{
            var low:Number=Math.random()*64;
            var high:Number=Math.random()*128+128;
            _bitmapdata.noise(1,low,high,1|1|1,false);
        }
        private function enterFrameHandler2(e:Event):void{
            var low:Number=Math.random()*64;
            var high:Number=Math.random()*128+128;
            _bitmapdata.noise(1,low,high,4|4|4,false);
        }
        private function enterFrameHandler3(e:Event):void{
            var low:Number=Math.random()*64;
            var high:Number=Math.random()*128+128;
            _bitmapdata.noise(1,low,high,2|2|1,false);
        }
    }
}

import jp.progression.commands.*;  
import jp.progression.core.commands.Command;   
import jp.progression.events.*;

class LoopCommand extends Command{
    
    private var _command:Command;
    public function LoopCommand(command:Command,initObject:Object = null){
        super( _execute, _interrupt, initObject );
        _command = command;
    }
    private function _execute():void{
        _command.addEventListener(CommandEvent.COMMAND_COMPLETE,commandComp);
        _command.execute();
        executeComplete();
    }
    private function commandComp(e:CommandEvent):void{
        _command.execute();
    }  
    private function _interrupt():void{
        _command.removeEventListener(CommandEvent.COMMAND_COMPLETE,commandComp);
        interruptComplete();
    }  
    public override function clone():Command{
        return new LoopCommand(_command);  
    }
}