![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
重複質問でしたらすみません。。。
_rootに「メニュー」というムービークリップをおきました。
その中にボタンをいくつか配置してある状態です。
ボタンを押すと_rootへ外部swfを読み込むようにし、loadMovieを使い読み込みには成功しました。
その際に
ボタン1⇒外部ファイル1のフレーム1
ボタン2⇒外部ファイル1のフレーム10
というように、ボタンによって同じ外部ファイルの違ったフレームへジャンプさせたいのですがうまくいきません。
このような場合はどうしたらよいのでしょうか。
アドバイスがありましたらお願いします。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_10.png?8acaa2e)
No.2ベストアンサー
- 回答日時:
私もしばらくどうやったらできるのか考えていました。
普通に実験してもうまく行きませんし。
しかし,制約が付きですが,なんとかできます。
読み込む側のボタンのスクリプト↓。
------------------------------
on (press) {
loadMovie("3章テスト.swf?frm=10", "_root");
}
------------------------------
swf の後に ? と 変数名(frm)=値(10) を付け加えます。
フレーム10 に行かせるボタンの場合です。
読み込まれる側(3章テスト.swf)の
フレーム1 のスクリプト↓
------------------------------
// とりあえずストップ
this.stop();
// 1フレーム進む時間ごとに毎回{ }内を実行
this.onEnterFrame = function() {
// もし全てのロードが完了したら
if (this.getBytesLoaded()>=this.getBytesTotal()) {
// ムービーを変数フレームに進める
this.gotoAndPlay(frm);
// この onEnterFrame を削除
delete (this.onEnterFrame);
// ロード未完了の場合は ストップ を継続
} else {
this.stop();
}
};
------------------------------
こんな感じです。
ただし,制約として,これはムービープレビューやスタンドアローンプレーヤーでは検証できません。
つまり,使えません。
上の場合,変数をGETで渡していますが,POSTで渡しても同様です。検証できません。
サイトによっては,アップしないと検証できないと書いてあるところもありますが,
私の環境では,ブラウザ(IE)でswfファイルを開くか,
ブラウザでswfと同時にパブリッシュされたHTMLを開くとローカルで検証できました。
_root (_level0) に読み込んで,
任意のフレームにジャンプということは普通はしません。
_root (_level0) に読み込むと言うことは,親元のファイルのプロパティなど親の全てがなくなります。
_root (_level0) でなければ,親内に子を読み込めるので,
普通に変数も渡せますし,読み込み待ち処理もできます。
しかし _root (_level0) だと,その両方が素直にできなくなるので,大変やっかいです。
やっかいのダブルパンチです。
上記スクリプトの説明ですが,
まず,ボタンのスクリプトで,
「3章テスト.swf」をロードすると同時に,frm=10 という変数&値を「3章テスト.swf」に渡します。
ロードされた側は表示された時点でまだロードは完了していません。
ですから,いきなり フレーム10 に goto などと命令されても,そんなフレームはないのでどこにも行けません。
なので,
「3章テスト.swf」のフレーム1に
「ロードが完了次第,フレームfrm つまり フレーム10 に goto しなさい」と書いてあります。
これでうまく行くと思います。
なお,ご存じだとは思いますが,
アップする場合,「3章テスト.swf」というファイル名は使えません。
「test_chapter3.swf」など半角英数文字のファイル名にしてくだい。
アップせずに,ローカルで使用する場合はブラウザに表示させるしかありません。
もしスタンドアローンプレーヤーやプロジェクタ(EXEファイル)にパブリッシュして使用する場合は,
上記方法ではうまく行かないと思います。
なんとか,変数を別の物を経由して渡さないとなりません。
別の物を経由する方法で,
今,思いつくものは親ムービーから SharedObject で,sol ファイルに変数を保存し,
その solファイルを「3章テスト.swf」から読みに行き,ロードを待ってgotoするという方法です。
「SharedObject.getLocal」
http://www.fumiononaka.com/TechNotes/Flash/FN020 …
しかし,
親の _root にロードした子に,SharedObject を使って変数を渡すなどと言うことは,
それこそ,普通は絶対にしない方法ですし,
今は,考えてみただけで実際に作って検証したわけではありません。
「親からsolを保存→瞬時に子からsolの読み込み」 ですからね,普通はしません。
もし,そういう,さらに超変わったことをしたい場合で,なおかつ SharedObject の使い方などがわからない場合は,
補足してください。
また時間がかかるかもしれませんが,考えて実験してみたいとは思います。
考えても実験失敗で,回答できない可能性もありますけどね。
No.1
- 回答日時:
「ボタンを押すと_rootへ外部swfを読み込むようにし、」
と書かれている点を考えると、外部swfが表示されたときには、その元あったボタンは消えると思いますが,
そういう状態で合っていますでしょうか?
_rootへ読み込む場合は、
ボタンによって同じ外部ファイルの違ったフレームへジャンプさせることは無理かと思われます。
・ できれば、書かれた loadMovie の部分のスクリプトだけでも良いので提示してください。
・ また、読み込む場所は _root 以外でも良いのかどうかを回答してください。
・ また、Flashのバージョンを書いてください。
答えられる範囲でかまいませんので、上記3点の補足説明をおねがいします。
この回答への補足
回答ありがとうございます。
元にあったボタンは消える状態です。
3点補足します。
スプリクトについては、ボタン1⇒フレーム1の状態
on (press) {
loadMovie("3章テスト.swf", "_root");
}
を記述してあるだけに今はなっています。
(色々試したものは消えてしまいました。。。)
変数をつけてみたらと思いやってみたり、外部ファイルをシーンに分けてやってみたり色々してみましたが、記述方法が適切でないせいか失敗しています。(スプリクトは初心者です)
(何がよかったのかシーン2へジャンプできた時がありました。しかし、他のシーンへ飛べないので断念しました。)
また、読み込む場所はできれば_rootにしたいと思います。
Flashのバージョンは8proを使っています。
お願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 電子書籍 電子書籍の開き方教えて 2 2022/04/30 07:04
- Word(ワード) Word のマクロについての質問です。 ボタンを押すと登録したブックマーク先にジャンプする機能(リン 3 2023/08/16 12:17
- Visual Basic(VBA) エクセル VBAについて教えてください 2 2023/04/26 13:25
- PHP phpでアクセスカウンターの数値の割合でリンク先を変更したい 1 2022/09/16 11:47
- ドライブ・ストレージ PCのパーフォーマンスが極端に落ちた。 8 2023/01/28 15:22
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- C言語・C++・C# pythonで外部のファイルを読み込む際のエラー 2 2022/04/12 19:22
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
- フリーソフト mmfファイルからmp3に変換できる方法を教えてください(XMediaRecode以外で) 2 2022/03/22 22:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
laptop go2からの買い替え、lap...
-
スマホでサイトの画像を長押し→...
-
ボカロ動画はFlash?HTML5?
-
ActionScript スクロールメニュー
-
AS3 mc0~5をまとめて処理する
-
FLASHでゲームを作っていた人は...
-
この曲はなんでしょう?
-
スクリップト
-
私のコンピューター上のファイ...
-
arduino プログラムについて
-
chrome flash
-
FLASHの再生はできないのでしょ...
-
フラッシュゲームアーカイブ2
-
ウェブサイトで Flash が事実上...
-
Flashコンテンツを使ったWebサイト
-
Flash Playerのサポートが終了
-
Form内のselectを連動させるに...
-
Flashをブロックしないで
-
ダウンロードしたデジブックはa...
-
ad or script について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Flash・携帯の待受時計Flashを...
-
スクリプトが何に記述されてい...
-
外部テキスト読み込み、横スク...
-
Flash4でloadMovieの完了を知る...
-
ActionScript3.0に書き換えたい
-
サーバーにアップするとスクリ...
-
流星が流れるような感じにした...
-
絞り込み条件検索について
-
外部swfファイルを読み込み任意...
-
Flash 8 レベル反復
-
ムービークリップの位置と角度...
-
フラッシュプレイヤーのバージ...
-
onEnterFrameの中止
-
アクセスするたびにランダムに...
-
AS3.0です。外部ページへのリン...
-
外部swfからのタイムラインコン...
-
FLASHでパブリッシュのswfが重...
-
import
-
カーソルのカスタム
-
SharedObjectが効かない
おすすめ情報