new 3

by megane_bomb1 forked from 2 (diff: 84)
♥0 | Line 46 | Modified 2011-05-09 14:59:35 | GPLv3 License
play

ActionScript3 source code

/**
 * Copyright megane_bomb1 ( http://wonderfl.net/user/megane_bomb1 )
 * GNU General Public License, v3 ( http://www.gnu.org/licenses/quick-guide-gplv3.html )
 * Downloaded from: http://wonderfl.net/c/6Guh
 */

// forked from megane_bomb1's 3
package {
   
    //画面表示の構築のコア
    import flash.display.*;
    //load()などのメソッドに渡される
    import flash.net.URLRequest;
    //イベント系
    import flash.events.*;
    //LoaderContextのため
    import flash.system.*;
    //text表示
    import flash.text.*; 
    //Debug
    import com.demonsters.debugger.MonsterDebugger;
    
       

    public class Main extends Sprite {    
        // LoaderContextを準備
        //crossdomain.xmlを読み込めるように
        private var context:LoaderContext = new LoaderContext(true);
        // イメージファイルをロードする
        private var load_img:Loader = new Loader();
        private var url:String = "http://farm5.static.flickr.com/4084/5014204216_b60a744f16_b_d.jpg";
        //private var url:String = "http://farm2.static.flickr.com/1340/4727293104_c093890c85_b_d.jpg";
        //画像の場所の指定
        private var url_img:URLRequest=new URLRequest(url); 
        private var h:Number;
        private var aData:Array = new Array();
        
        // 比率が入るよ。
        private var scale:Number = 0;
        //コンストラクタ         
        public function Main():void {
          //一番はじめじゃないtrace使えない  
          MonsterDebugger.initialize(stage);
          MonsterDebugger.trace(this,"first"); 
          
          //初期化
          setStage();
          loadImage();                   
        }
        
        // ステージの設定    
         private function setStage():void {  
           stage.addEventListener( Event.RESIZE,  resizeListener);
           
           //NO_SCALEでないと、リサイズイベントが発生しない
           stage.scaleMode = StageScaleMode.NO_SCALE;
           stage.align     = StageAlign.TOP_LEFT;      
         }
          
          //イメージの読み込み
          private function loadImage():void {
            //load時にLoaderContextをtrueにしたものを(context)を渡す
            load_img.load(url_img,context);
            //読み込んだ後に実行される
            load_img.contentLoaderInfo.addEventListener( Event.COMPLETE , onComplete ); 
          }
       
         private function onComplete( event:Event ):void {
             resize();
             addChild( load_img );
         }

        private function resize():void{
             load_img.scaleX = 1;
             load_img.scaleY = 1;
             
             var scale:Number = 0;
             // 比率を計算するよ。
             scale = Math.min(stage.stageWidth/load_img.width, stage.stageHeight/load_img.height);
             // 画像に比率を適応するよ。
             load_img.scaleX = load_img.scaleY = scale;            
        }
         
          //ブラウザのリサイズが行われたときに実行される
          private function resizeListener( event:Event ):void {
                resize();
          }
    }    
}