coluli

最近は、デジカメのテスト撮影ばかりやっています。

ウィンドウサイズに追随する

(こちらは旧blogのコンテンツです)

トップページのFlaファイルを開けてみたら、怖いくらいにActionScriptを忘れていることに気づいてしまいました。

久しぶりのFlashとはいえ、理解・記憶するよりも忘れていく方が多いなると、そもそも「学習」が成立しません。

備忘録のために、恥を忍んでコメント付きのScriptを晒しておくことにします。

//基本設定////////////////////////////
//左肩揃え
Stage.align = "LT";
//拡大縮小無し
Stage.scaleMode = "noScale";
//任意のマージンの設定
var margin = [32, 32, 32, 32];
//写真サイズ変更の関数////////////////////////////
//元々の写真のサイズを変数に収める。
var pw = photo_mc._width;
var ph = photo_mc._height;
//画面いっぱいに写真を表示する。
function scalePhoto() {
//写真が足りるよう、拡大率の大きい方を使用。
scaleW = Stage.width/pw;
scaleH = Stage.height/ph;
theScale = Math.max(scaleW, scaleH)*100;
photo_mc._xscale = theScale;
photo_mc._yscale = theScale;
//写真の中央部分を優先して表示。
photoX = (Stage.width-photo_mc._width)/2;
photoY = (Stage.height-photo_mc._height)/2;
photo_mc._x = photoX;
photo_mc._y = photoY;
}
//アイテム配置の関数////////////////////////////
function layoutItems() {
//リンク「blog/」を右下に配置。
blog_mc._x = Stage.width-blog_mc._width-margin[1];
blog_mc._y = Stage.height-blog_mc._height-margin[2];
}
//ボタン関連////////////////////////////
//リンク「blog_mc」の反応
blog_mc.onPress = function() {
blog_mc._y += 1;
};
blog_mc.onRelease = function() {
blog_mc._y -= 1;
this.getURL("https://blog.coluli.net/");
};
blog_mc.onReleaseOutside = function() {
blog_mc._y -= 1;
};
//やることをやる////////////////////////////
//ロゴを左肩に固定
logo_mc._x = margin[3];
logo_mc._y = margin[0];
//最初に一回。
this.layoutItems();
this.scalePhoto();
//リサイズされる毎に。
this.onResize = function() {
scalePhoto();
layoutItems();
};
Stage.addListener(this);
//参考資料
//ActionScript逆引きクイックレファレンス(2005年末版)Q*144
//等