• ベストアンサー

シンボルからシーン上の呼び出し方

Flash lite1.1で、シンボルの最期のコマでシーン1のフレームの呼び出しをしたいと思いますが、可能でしょうか? 単純にシンボルの最期に gotoAndPlay('../[シーン1のフレーム名])); と書けばいいのかなと思ったのですが、動作しません。 ご教授いただければと思います。

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

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

結論から言えばそのままでは不可能です。 シーン 指定は gotoAndPlay関数 または gotoAndStop関数 単独を使用した上で, 第一引数に "シーン名" を必ず "文字列" で入れる必要があります。 Flash Lite に限らず,普通の Flash でもそうです。 gotoAndPlayメソッド または gotoAndStopメソッド で シーン指定 をすることはできません。 Flash Lite の場合は メソッド は使えませんから, tellTarget+gotoAndPlay関数 または tellTarget+gotoAndStop関数 を使うのですが,それもダメです。 理由は, パブリッシュ時に 自動フレーム番号変換 されるからです。 パブリッシュ後には シーンなど存在せず, ただ _root が長々とつながったムービー になります。 その _root が長々とつながったムービー になる前に,Flash Player ではなくて, Flash作成ソフト本体 が "シーン名" を "フレーム番号" に変換するからです。 だから gotoAndPlay関数 または gotoAndStop関数 であっても シーン名 には 変数など使えません。 通常の ActionScript は Flash Player が理解して実行する言語です。 gotoAndPlay("シーン名" , フレーム番号); は,そうではない特殊なものです。 その他, Flash Lite 1.x における Math.sin などもこの特殊なスクリプトに入ります。 Math.sin などが出てきたら Flash Player 4 (Flash Lite 1.x)では対処できませんから, そいいうのに近い計算式を Flash 作成ツール の方で自動組み上げします。 とにかく シーン はどうにもなりません。 対処方は,「フレームラベルを使うこと」 です。 「gotoAndPlay/gotoAndStopでシーンの移動ができない」 http://fumiononaka.com/TechNotes/Flash/FN0205002.html ※ ただし gotoAndPlay('../[ラベル名]));  こんなのは元から ダメ ですよ。  tellTarget が要ります。

noname#114792
質問者

お礼

詳しく教えて頂き、ありがとうございます! tellTargetを使って思い通りにできました(^^)!!

関連するQ&A

専門家に質問してみよう