トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     swfファイルが認識している階層を操作したい
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
n_703
Åê¹ÆNo.45393
投稿日時: 2010-7-29 12:27
新米
居住地:
投稿: 2
使用環境:
MacOS10.6.4
Flash CS5
swfファイルが認識している階層を操作したい
実はこちらの質問を投稿した者なのですが
http://www.flASh-jp.com/modules/newbb/viewtopic.php?topic_id=9531&forum=20&post_id=45381#forumpost45381
回答がつかずやはり無理なのでは…と思いましたので新たに質問させていただきます。
もし上記質問が可能なのでしたら、今回の質問は不要になります。
別の内容とはいえ、結果的に同時に二つの質問を投稿することになってしまい申し訳ありません。

まず上記質問にも書いていますが、現在、諸事情からAS2.0、AS3.0のswfデータが混在しているプロジェクトを作成しています。
(最終的にはexeを作成しローカル環境内で動作させるものです)
元々は全てAS2.0で組んであったのですが、一部のファイルのみAS3.0でないと実装できない仕組みが必要になった形です。
本来ならずべてAS3.0で組み直すべきかと思いますが、予算等の関係もあり、
できれば必要な箇所のみAS3.0でできればと考えております。

初期のファイル構造と行いたい仕組みは以下の通りです。

─────────────────────────
初期のファイル構造(全てAS2.0)と仕組み
─────────────────────────
任意のフォルダ
├index.swf(AS2.0)
├a.swf(AS2.0)…………このファイルが後にAS3.0に
├b.swf(AS2.0)
├c.swf(AS2.0)
└d.swf(AS2.0)

index.swf内にあるボタンa、b、c、dをクリックすると、
対応する外部ファイルa?d.swfがindex.swfの画面中央に読み込まれる。
index.swf内にあるボタンTOPをクリックするとindex.swfのみに。
(ボタンTOP、a、b、c、dは常に表示)
─────────────────────────

こうだったものの、外部ファイルa.swfのみAS3.0にする必要が出てきました。
index.swf(AS2.0)内にa.swf(AS3.0)を読み込むのは不可能と思いまして以下のようなファイル構造に変更しました。

─────────────────────────
第二期構造(as2.0 as3.0混在)
─────────────────────────
任意のフォルダ
├index.swf(as2.0)
├index_a.swf(as3.0)……元々のindex.swfとa.swfを合体させた内容
├b.swf(as2.0)
├c.swf(as2.0)
└d.swf(as2.0)

(1)index.swf(as2.0)内のボタンaをクリックするとindex_a.swf(as3.0)とswf自体入れ替わる。←これは実装できました
(2)index_a.swf(as3.0)内のボタンTOPをクリックするとindex.swf(as2.0)とswf自体入れ替わる。←これが実装できなかった
─────────────────────────

上記(2)が実装できなかったのでexeファイルの切り替えを試みました。

─────────────────────────
第三期構造(as2.0 as3.0混在 exeでの切り替え)
─────────────────────────
任意のフォルダ
├index_a.swf(as3.0)……元々のindex.swfとa.swfを合体させた内容…(3)
└fscommandフォルダ
  ├index.exe(as2.0)……最初にこれを起ち上げる…(4)
  ├b.swf(as2.0)
  ├c.swf(as2.0)
  └d.swf(as2.0)

(3)内のボタンTOPにはfscommandフォルダ内index.exeと入れ替える為に fscommand ("exec", "index.exe"); が設定されている。
(4)内のボタンaには以下のスクリプトを入れ上位階層の(3)と入れ替わるよう目論む
    on (release) {
     _root.loadMovie("../index_a.swf");
    }
─────────────────────────
この方法で(3)から起動した場合は(4)と入れ替わるのですが
(4)index.exe(as2.0)から起動した場合、ボタンaのクリックで上位階層の(3)index_a.swf(as3.0)が表示されるものの
どうもその表示されているindex_a.swfは起動ファイルindex.exeと同じfscommandフォルダ内にいるという認識のようで
index_a.swf内のボタンTOPをクリックしても反応しなくなってしまいました。
(fscommandフォルダ内に同じfscommandフォルダを入れておけば大丈夫ですが、
これでは延々fscommandフォルダが必要になってしまいます…)

長々と書いてしまいましたが、ここで質問です。
このindex_a.swfが表示されると、常に元々あった任意のフォルダ直下にあると認識させ直すことは可能でしょうか?

もし無理であればこういった構造でas2.0 as3.0混在させる良い方法はないでしょうか?(勝手な言い方ですみません)
実は元々のindex.swfをas3.0で組み、そこに外部ファイルを読み込むことも試みたのですが
b?d.swfにもかなりスクリプトが組み込まれており、表示はされるものの正常に動作しない状況なのです。
組み込んだ方法:http://www.libspark.org/wiki/yossy/ForcibleLoader

自分でもかなり無理な構造なのでは…と思いつつですが、
完全に無理だという判断もつかず…。

何卒よろしくお願いします。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops