• 締切済み

flash ウインドウの大きさを変更しても常に定位置

falsh8でアクションスクリプトのバージョンは1でわからないことがあるので教えてください。 ステージ上に、 ムービークリップの インスタンス名 mc1 と ムービークリップの インスタンス名 mc2 と ムービークリップの インスタンス名 mc3 を配置しております。 ブラウザのウインドウの大きさを変更しても常に、 mc1 はウインドウの最上部に表示 mc2 はウインドウの中央部に表示 mc3 はウインドウの最下部に表示させたいのですが、どういうスクリプトを書けばよいでしょうか? 教えてください、よろしくお願いします。

みんなの回答

  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.2

#1です。 昨日は時間不足のため簡易的な回答しか書きませんでしたが...。 > mc1 はウインドウの最上部に表示 > mc2 はウインドウの中央部に表示 > mc3 はウインドウの最下部に表示 これだけでは左右の位置がわかりませんが, 仮に mc1,mc2,mc3 とも,左右はステージの中央に表示させるとします。 「mc1」は上の中央に基準点が来るようなムービークリップにします。 「mc2」は中央の中央に基準点が来るようなムービークリップにします。 「mc3」は下の中央に基準点が来るようなムービークリップにします。 必ずしもこうする必要があるわけではありません。 こうすれば計算が楽になる(±の座標補正が不要になる)というだけです。 上記のようなものを用意した場合, mc1,mc2,mc3 が存在するタイムラインのキーフレームに書くスクリプトは次のようになります。 ------------------------------ // ステージ内容の拡大縮小なし Stage.scaleMode = "noScale"; // ステージの上左を基準にする Stage.align = "TL"; // ステージ監視用のインスタンス「stageObj」を作成 stageObj = new Object(); // ステージのサイズが変わったときの動作定義 stageObj.onResize = function() { // 「mc1」の座標を上の中央にする mc1._x = Stage.width/2.; mc1._y = 0; // 「mc2」の座標を中央の中央にする mc1._x = Stage.width/2.; mc1._y = Stage.height/2.; // 「mc3」の座標を下の中央にする mc1._x = Stage.width/2.; mc1._y = Stage.height; // 表示を即更新 updateAfterEvent(); }; // ステージ監視用インスタンスをステージのリスナーに登録 Stage.addListener(stageObj); // 初期表示段階で stageObj.onResize を実行 stageObj.onResize(); ------------------------------ ・ActionScript 1.0 ・要 Flash MX 以上(Flash 8 も MX 以上に含まれる) ・要 Flash Player 6 以上用 SWF にパブリッシュ こうしてできたSWFを HTMLに 横100% 縦100% で貼り付けます。   

  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

即席の回答でもうしわけわりませんが... この辺とか(下矢印)(#2回答はAS3 です。 #1回答 のものに関連リンクがあります。) http://oshiete1.goo.ne.jp/qa5140171.html または Google で 「Flash リキッドレイアウト」 などと検索してみるとか。 http://www.google.co.jp/search?hl=ja&source=hp&q=Flash+%E3%83%AA%E3%82%AD%E3%83%83%E3%83%89%E3%83%AC%E3%82%A4%E3%82%A2%E3%82%A6%E3%83%88 すれば,答えが見つかる気がします。

専門家に質問してみよう