サイト内検索

メインメニュー

ログイン
ユーザID または e-mail:

パスワード:

IDとパスワードを記憶

パスワード紛失

新規登録

オンライン状況
10 人のユーザが現在オンラインです。 (9 人のユーザが ウェブログ を参照しています。)

 登録ユーザ: 0
 ゲスト: 10

もっと...

ウェブログ カレンダー
« « 2007 10月 » »
30 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 1 2 3

最新ブログ記事

最近のコメント

最近のトラックバック

|
ウェブログ - ひろゆきの記事
|
 ひろゆきの記事配信

2007/02/21 Wed
 リサイズで変動・固定
カテゴリ: flash : actionscript : 
ウィンドウ・サイズをリサイズしたときに、
あるムービークリップの大きさ・位置などを変動させつつ、
特定のムービークリップの大きさ・位置などを固定する。

[updatePos1][updatePos2]

かえる君をクリックすると、別ウィンドウが開くので、
ウィンドウ・サイズを変えてみよう。

ステージサイズは 600*400 で、背景色は黒に設定。

ライブラリに、ムービークリップ(リンケージ識別子: base, header, footer) を用意。
header には、ムービークリップ(インスタンス名: back, banner) を配置。
footer には、ムービークリップ(インスタンス名: back, copyright) を配置。

_root 第1フレームに

Stage.scaleMode = "noScale";
Stage.align = "TL";


var resizeListener:Object = new Object();
resizeListener.onResize = function():Void {

    updatePos();
};
Stage.addListener(resizeListener);


this.attachMovie("base", "base", 1);
var baseWidth:Number = 600;
var baseHeight:Number = 400;

this.attachMovie("header", "header", 2);
this.attachMovie("footer", "footer", 3);
updatePos();
function updatePos():Void {

    var xScale:Number = Stage.width/baseWidth;
    var yScale:Number = Stage.height/baseHeight;
    var fixScale:Number = Math.max(xScale, yScale)*100;
    base._xscale = base._yscale = fixScale;
    header.back._width = Stage.width;
    header.banner._x = Stage.width - 85;
    footer._y = Stage.height - 30;
    footer.back._width = Stage.width;
    footer.copyright._x = Stage.width - 290;

}

と記述。


これに、移動するメニューを追加する。(updatePos2)

ライブラリに、ムービークリップ(リンケージ識別子: menu) を追加。

_root 第1フレームに

    (中略)

this.attachMovie("menu", "menu", 4, {_y: 40});
var deceleration:Number = 0.4;
updatePos();
function updatePos():Void {


        (中略)

    menu._x = Stage.width - 60;
    slideMenu(Stage.height - 160);
}
function slideMenu(targetPos:Number):Void {
    menu.onEnterFrame = function():Void {
        this._y += (targetPos - this._y)*deceleration;
        if (Math.abs(targetPos - this._y) < 0.5) {
            this._y = targetPos;
            delete this.onEnterFrame;
        }
    };
}

と記述。


[追記] (07/03/21 Wed 01:40)
html 側の設定については、Stage.scaleModeの値 参照。


関連記事: いつも中央にムービークリップ (1)
関連記事: ステージのリサイズ
関連記事: いつも中央にムービークリップ (2)
関連記事: Stage.scaleModeの値
関連記事: フルスクリーンモード
執筆者: ひろゆき (04:12)
ウェブログ | コメント (0) | トラックバック数 (0) | 閲覧数 (1063)
この記事のトラックバックURL  リンク・引用のないトラックバックは削除することがあります。
http://www.project-nya.jp/modules/weblog/weblog-tb.php/637
 
ブログ記事内容についての質問は、ゲスト相談室 にて投稿ください。
投稿された内容の著作権はコメントの投稿者に帰属します。
投稿者 スレッド