new 3
forked from 2 (diff: 84)
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();
}
}
}
