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

皆様お世話になっております。
以下の件について調べて見ましても、良い回答を見つけられず己の力の無さに悲観しております。
出来ましたら皆様のご意見を伺いたいのです。
よろしくお願いします。

【A.swf】というメニュー画面があります。
そこにあるボタンを押し【B.swf】というファイルをLoadMovieし再生します。
【B.swf】終了後、自動で元の【A.swf】の画面に戻したいのですが【B.swf】が繰り返し再生されてしまいます。

FLASH MX、Win98Seにて作っております。
宜しくお願いします。

A 回答 (3件)

#1です。


それでは,以下の方法が簡単ではないでしょうか。

【A.swf】レベル0 に【B.swf】を読み込むのではなく,
【A.swf】の最上レイヤーのステージ左上の角に,空もしくは透明のムービークリップを作って,
そのムービークリップに【B.swf】をロードする。
【A.swf】と【B.swf】は共存しているので,命令もお互いしやすいです。


~~~まず【A.swf】~~~

【A.swf】の一番上に新しいレイヤーを挿入して,
そのステージの左上に小さな透明なムービークリップ,もしくは空のムービークリップを作ってください。
また,そのムービークリップを選択して,下のプロパティパネルで,<インスタンス名>を設定してください。
何でもかまいませんが,この説明では「loader」としておきます。

この「loader」に【B.swf】を読み込めば良いので,
【A.swf】の【B.swf】を読み込むボタンは,

-------------------------------------
on (release) {
loadMovie("B.swf", "loader");
}
-------------------------------------

となります。

>> A.swfの特定のシーンに戻したい

ということですが,読み込んだMCからはシーンが認識できません。
なので,【B.swf】から戻ってきたとき表示させたい【A.swf】の特定のシーンには,
フレームラベルを付けてください。
その表示させたいシーンの1フレーム目のタイムラインを選択。
下に表示される「プロパティ」パネルの左の方にある<フレームラベル>の部分に,名前を付けてください。
何でも良いですが,この説明では【B.swf】から戻ってくるフレームなので,「B」と付けておきます。


~~~次に【B.swf】~~~

【B.swf】は変更が小さいです。
最終フレームのタイムラインのスクリプトが

--------------------------------
_root.gotoAndPlay("B");
unloadMovie("this");
-------------------------------

となるだけです。
わかりますよね。

 //親元のムービーをフレームラベルBに進めて
  _root.gotoAndPlay("B");

 //自分自身のいる場所から,自分自身をアンロードする
  unloadMovie("this");

ということです。


なお,
【B.swf】が読み込まれたとき,
下に隠れて見えない【A.swf】のボタンに触ってしまうと,変な動作をするかもしれません。
だから,
最初の【A.swf】のボタンのスクリプトは,

-------------------------------------
on (release) {
ladMovie("B.swf", "loader");
gotoAndStop("シーン ○", 1);
}
-------------------------------------

などとして,"シーン ○"に空白のシーンを作っておいて,【B.swf】が再生されている間だけ,
【A.swf】をその空白シーンで止めておくのも良いかもしれません。
これは,どちらでもいいです。
    • good
    • 0
この回答へのお礼

素晴らしいご意見ありがとうございました。

無事に希望するような動きになりました!

ホントにありがとうございました!!

お礼日時:2005/08/02 21:22

#1&2です。



オオボケかましておりました。
#2の最後の部分,大間違いです。

>> なお,
>> 【B.swf】が読み込まれたとき,
>> 下に隠れて見えない【A.swf】のボタンに触ってしまうと,
>> 変な動作をするかもしれません。
>> だから,
>> 最初の【A.swf】のボタンのスクリプトは,

訂正箇所はこれ以下です。

-------------------------------------
on (release) {
ladMovie("B.swf", "loader");
gotoAndStop(○);
}
-------------------------------------

などとして,○フレーム(ボタンのあるシーンの最終フレーム)に,"loader"以外は消した,空白のフレームを作っておいて,【B.swf】が再生されている間だけ,
【A.swf】をその空白フレームで止めておくのも良いかもしれません。
これは,どちらでもいいです。


と訂正します。
"loader" がシーンを越えて,つながって存在するのは不可能でした。
    • good
    • 0

何か複雑なしくみを作られているのでしょうか?


ふつうは以下のような感じでできると思います。
【A.swf】と【B.swf】のステージの大きさがほぼ等しく,
ロード用のターゲットになるMCを作らなかった場合。

【A.swf】の【B.swf】をロードするボタンのスクリプト

-------------------------------
on (release) {
loadMovieNum("B.swf", 0);
}
-------------------------------

【B.swf】の終了後(最終フレーム)のタイムラインのスクリプト

------------------------------
loadMovie("A.swf", "_root");
------------------------------

また,【B.swf】の最終フレームには
------------------------------
loadMovieNum("A.swf", 0);
------------------------------

と書いても良いと思います。

この回答への補足

ご意見ありがとうございます。
教えていただきました方法を試しました。
スムーズに動きました。本当にありがとうございます。
けれども、
誠に申し訳ありませんでした。説明が抜けていました。

A.swfの特定のシーンに戻したいと考えていました。

もしかしたら私の作り方が悪いのでしょうか・・・。
各シーンを一つずつ作り、それらをloadMovieで繋げて
行くのが一般的なのでしょうか?

質問が変わってしまって申し訳ありません。

補足日時:2005/08/02 13:38
    • good
    • 0

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