forked from: クリックによって表示、非表示を切り替える

by MMMMMonchi forked from クリックによって表示、非表示を切り替える (diff: 20)
♥0 | Line 64 | Modified 2012-03-21 14:56:42 | MIT License
play

ActionScript3 source code

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

// forked from MMMMMonchi's クリックによって表示、非表示を切り替える
package
{
    import flash.display.BitmapData;
    import flash.display.Bitmap;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.geom.Matrix;
 
    public class Main extends Sprite
    { 
        private var rect:Sprite;
        private var tx:Number=0;
        private var bp:Bitmap;
        private var bd:BitmapData;
        private var newbd:BitmapData;
 
        public function Main()
        {
            rect = new Sprite();
            rect.graphics.beginFill(0xFF0000);
            rect.graphics.drawCircle(0, 0, 50);
            rect.graphics.endFill();
            rect.graphics.beginFill(0xFFff00);
            rect.graphics.drawCircle(10, 15, 10);
            rect.graphics.endFill();
            rect.x = rect.y = 232;
            addChild(rect);
            
            bd = new BitmapData(200, 200, false, 0xff9966);
 
           newbd = new BitmapData(50, 50, false);
            
            var matrix:Matrix = new Matrix();
             matrix.tx = -100;
             matrix.ty = -80;
             newbd.draw(bd, matrix);
            for (var i:int;i<100;i++){
                 if (i%2==0){
                   bd.setPixel(i, i, 0x000000);}
                   }
            addChild(new Bitmap(newbd));
            
 
            rect.addEventListener(Event.ENTER_FRAME, onEnterFrame);
            stage.addEventListener(MouseEvent.CLICK,onClick);
        }
 
        private function onEnterFrame(event:Event):void
        {
             tx+=0.3;
             rect.rotationZ+=10;
             rect.scaleX += 0.01;
             rect.scaleY += 0.01;
             rect.x=tx;
             rect.alpha=0.9;
             bp.rotation-=10;
             bp.scaleX+=0.01;
             bp.x=tx;
             
            
            
        }
        private function onClick(e:MouseEvent):void{
            stage.removeEventListener(MouseEvent.CLICK,onClick2);
            rect.visible=false;
            stage.addEventListener(MouseEvent.CLICK,onClick2);
            }
        private function onClick2(e:MouseEvent):void{
            
            stage.removeEventListener(MouseEvent.CLICK,onClick);
            rect.visible=true;
             stage.addEventListener(MouseEvent.CLICK,onClick);
            }
    }
}