アプリ版:「スタンプのみでお礼する」機能のリリースについて

FLASHでwebサイトを作っています
メインのswfファイル上にステージを配置し、そこにtextファイルを読み込む別swfを読み込ませたいのですが、上手く表示されません。
textファイルを読み込むswfは単体でプレビューすると表示されるんですが、メインswfからその別swfを読み込ませようとすると表示されません
他の別swfはきちんと読み込まされます
どうかアドバイスお願いします

A 回答 (1件)

7~8割くらいの確率で,


問題があるのはターゲットパスでしょう。
http://www.google.co.jp/search?hl=ja&q=%E3%82%BF …

残り2~3割くらいの確率で,
問題があるのはファイルパスだと思います。
どっちにしてもパスです。



外部SWFをロードする場合,
たいていは,MovieClip.loadMovie もしくは MovieClipLoader.loadClip によって,
ムービークリップにSWFを読み込みます。

ムービークリップに読み込まれた 子SWF は 親SWF から見れば単なるムービークリップです。
また 子SWF のスクリプトは 親SWF 内で動作するので,
パスは全て 親SWF からみたパスになります。

例えば,
絶対パスで 子SWF の _root に外部textファイルを読み込むようにしていたとします。
子SWF 単体で見れば, _root は自分自身のメイン階層のタイムラインを指しますが,
親SWF 中で動作させる場合,この _root は 親SWF の _root を意味してしまいます。
ここでターゲットパスにズレが生じます。


対処方法は,
子SWF 内で,_root を含む絶対パスを使用しないようにするということです。
つまり全て this.○○… のような相対パスを使うことです。
これが最も一般的な対処法です。

どうしても 子SWF 内で絶対パスを使用したい場合は,
Flash MX 2004 以上(Flash Player 7 以上)に限って,_lockroot プロパティが使用できますからこれを使います。
子SWF のフレーム1の最初の行に,
this._lockroot = true;
と書くと _root は,
そのファイル(読み込まれた場合はムービークリップ扱い)内で,
_root が ロック されますから,階層の構造変化がなくなると思います。

Flash 8 ドキュメンテーション
_lockroot (MovieClip._lockroot プロパティ)
http://livedocs.adobe.com/flash/8_jp/main/000024 …



ファイルパスの問題ですが,
Flash のロードは SWF からのパスではなく,
SWF が表示されている HTML からのパスになります。
さらに,
親SWF に 子SWF をロードする場合,
子SWF にロードするテキストファイルのパスは,
親SWF が表示されている HTML からのパスを書かなければなりません。
この点に注意してください。



なお,
親SWF と 子SWF が別サイト(別ドメイン)にある場合は論外です。
こちらは,
「Flash クロスドメインセキュリティ」 などをネットで検索してみてください。
    • good
    • 0
この回答へのお礼

BlurFiltanさん ありがとうございました
ファイルパスだったんですね。。。なんとかできましたありがとうございました^^

お礼日時:2008/01/11 22:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!