flash on 2012-3-29

by tepe
♥0 | Line 62 | Modified 2012-03-30 14:06:44 | MIT License
play

ActionScript3 source code

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

package {
    import flash.display.*;
    import flash.events.*;
    import flash.text.*;
    
    public class FlashTest extends Sprite {
        private var s1:Sprite = new Sprite();
        private var s2:Sprite = new Sprite();
        private var s3:Sprite = new Sprite();
        private var field:Sprite = new Sprite();
        private var zoom:Number = 1.0;
        private var posX:Number = 0;
        private var posY:Number = 0;
        private var tf:TextField = new TextField();
        public function FlashTest() {
            // write as3 code here..
            addChild(field);
            addChild(tf);
            tf.text = "text";
            s1.x = 100;
            s1.y = 100;
            s1.scaleX = s1.scaleY = 0.5;
            s1.graphics.beginFill(0x0000ff);
            s1.graphics.drawRect(-20,-20,40,40);
            s1.graphics.endFill();
            field.addChild(s1);
            
            s2.x = 0;
            s2.y = 0;
            s2.scaleX = s2.scaleY = 0.2;
            s2.graphics.beginFill(0x00ffff);
            s2.graphics.drawRect(0,0,40,40);
            s2.graphics.endFill();
            s1.addChild(s2);
            
            s3.x = 200;
            s3.y = 200;
            s3.scaleX = s3.scaleY = 1.25;
            s3.graphics.beginFill(0xff00ff);
            s3.graphics.drawRect(0,0,40,40);
            s3.graphics.endFill();
            field.addChild(s3);
            tf.text = s1.x.toString() + " " + s1.width.toString();
            addEventListener(Event.ENTER_FRAME,loop);
            addEventListener(KeyboardEvent.KEY_DOWN,onKey);
        }
        private function loop(e:Event):void{
            //field.scaleX = field.scaleY *= 1.001;
        }
        private function onKey(e:KeyboardEvent):void{
            if(e.keyCode == 13){
                //フィールド上のオブジェクト再配置
                //オフセット値
                var ox:Number = s1.x;
                var oy:Number = s1.y;
                var oScale:Number = s1.scaleX;
                //フィールド位置をオブジェクトとのオフセット分移動
                field.x += ox; 
                field.y += oy; 
                field.scaleX = field.scaleY *= oScale; 
                //同じ尺度で他のオブジェクトも再配置     
                s3.x -= ox;
                s3.y -= oy;
               
                s3.x /= oScale;
                s3.y /= oScale;
                
                
                s3.scaleX = s3.scaleY /= oScale;

                
                //中心となるオブジェクト指定→オブジェクトをfieldのx:0,y:0,scale:1.0,rotate:0に配置
                s1.x = 0; s1.y = 0; s1.scaleX = s1.scaleY = 1.0; s1.rotation = 0;
                
            }

        }


    }
}