• ベストアンサー

ダイナミックテキストに表示

FLASHで外部テキストから取得した変数をダイナミックテキストに表示したいのですが、やり方がわかりません。 ダイナミックテキストの変数名がtestだとして、テキストファイルの中に test=テキスト と記述すれば問題ないのですが、 テキストファイルに hensu=テキスト と記述してhensuの中身をtestに格納するという事はできないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • UNAHO
  • ベストアンサー率57% (20/35)
回答No.2

test = hensu;と_root["test"] = _root["hensu"];の違いは「どのムービークリップ(インスタンス)にある変数に対しての命令なのか」を指定しているかどうかの違いです。 例えば_root上にムービークリップを配置してこのインスタンス名をabcとします。 このムービークリップにtest = hensuを記述した場合 絶対位置からは_root.abc.test = _root.abc.hensu 相対位置からはthis.test = this.hensu という意味になります。 この階層の違いによる問題でない場合は、 「どこ」なのかを指定してあげないとFlashが正確に判断できないという現象があります。 ですので新しいバージョンでは記述に「どこ」なのかを指定することが推奨されています。 ちなみに _root["test"] = _root["hensu"]; は _root.test = _root.hensu; と同じ意味になります。 私は逆に_root["test"] の書き方(testの部分は文字列演算処理できること)を知らず苦労したことがあります。(^^;)

kamay
質問者

お礼

ありがとうございます。 位置の問題だったのですね。 無事解決しました^^

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • UNAHO
  • ベストアンサー率57% (20/35)
回答No.1

hensu=テキスト を読み込む。 Flash内のアクションスプリクトで test=hensu と再定義する。 この方法ではダメということでしょうか? もしそうであれば、どこに問題が発生するのかお教えいていただければ解決の手助けができるかもしれません。 念のため下記の違いはご存じしょうか。 test=hensu testという変数にhensuという変数の値をセットする。 test="hensu" testという変数にhensuという文字をセットする。 読込用のテキストの hensu=テキスト は 読込後のhensuという変数に テキスト という文字をセットできる。 要するに "" の扱い方についての確認です。

kamay
質問者

お礼

ありがとうございます。 ダイナミックテキストの変数をtestとし、 -テキストファイル(test.txt)- hensu=テキスト -フレームアクション- this.loadVariables("test.txt"); test = hensu; と記述しました。 これだとtestには何も表示されません。 テキストを読まずに直接フレームに hensu = "テキスト"; test = hensu; と記述すると、testにはテキストという文字列が入ります。 test.txtの中身をtest=テキストにしても文字列が入るので、変数のスペルミスではありません。 現在は this.loadVariables("test.txt"); _root["test"] = _root["hensu"]; で問題なく動作するようになりましたが、 test = hensu;と_root["test"] = _root["hensu"]; ではどういう違いがあるのでしょうか?

すると、全ての回答が全文表示されます。

関連するQ&A