flash on 2011-4-24

by e_2o
♥0 | Line 49 | Modified 2011-04-24 16:42:46 | MIT License
play

ActionScript3 source code

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

package
{
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.geom.Rectangle;
 
    public class Main extends Sprite
    {
        private var rect:Sprite;
        private var cir:Sprite;
 
        public function Main()
        {
            // 100 * 100の赤四角形
             rect = new Sprite();
             cir = new Sprite();
            rect.graphics.beginFill(0xED1A3D);
            rect.graphics.drawRect(0, 0, 100, 100);
            rect.graphics.endFill();
            rect.buttonMode = true;
            addChild(rect);
 
            
            cir.graphics.beginFill(0xED1A3D);
            cir.graphics.drawCircle(200, 200, 100);
            cir.graphics.endFill();
            cir.buttonMode = true;
            addChild(cir);
 
            // マウスが押された時にonMouseDown()を呼び出す
            rect.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
            cir.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
 
 
            // 押したボタンが離された時にonMouseUp()を呼び出す
            rect.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
             cir.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
 
            // 画面外に出たときにonMouseLeave()を呼び出す
          stage.addEventListener(Event.MOUSE_LEAVE, onMouseLeave);
        }
 
        private function onMouseDown(event:MouseEvent):void
        {
            // 画面サイズが465 * 465の場合
            rect.startDrag(false, new Rectangle(0, 0, 465 - rect.width, 465 - rect.height));
            cir.startDrag(false, new Rectangle(0, 0, 465 - rect.width, 465 - rect.height));
            //rect.startDrag();
        }
 
        private function onMouseUp(event:MouseEvent):void
        {
            rect.stopDrag();
            cir.stopDrag();
        }
 
        private function onMouseLeave(event:Event):void
        {
            rect.stopDrag();
            cir.stopDrag();
        }
    }
}