重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

3つのMCが全てクリックされたかどうかを判断し、全てクリックされた時点でボタンを表示したいです。
アドバイスよろしくお願いします。(環境はFlash8です)

A 回答 (2件)

#1の方の考え方と半分(3/4くらい)かぶってしまいましたが,




 「ムービークリップ(MC) をクリックしたときに
 _root に1本のフラグ(旗)を立てて,
 3本のフラグが立ったときのみ,ボタンを表示させる。」

という考え方ではどうでしょうか。
それだけでもいろいろスクリプトの書き方はできますが,
下記は一例です。

まず,
ボタンとムービークリップにインスタンス名を付けます。
この説明では,
ボタンに 「my_btn」 というインスタンス名を付けることにします。
そして,
3つのムービークリップにはそれぞれ,
「my_mc0」,「my_mc1」,「my_mc2」というインスタンス名を付けることにします。

そして,
1つボタンと3つのムービークリップをステージ上に配置して,
それらが存在するフレームに,
フレームのスクリプトとして次のように書きます。

------------------------------------------
// フラグ flag0 ~ 2 の初期値を 0 にする
flag0 = flag1=flag2=0;
//
// ボタン my_btn を非表示にする
_root.my_btn._visible = false;
//
for (var i = 0; i<=2; i++) {
// 各ムービークリップの変数 my_num を指定
_root["my_mc"+i].my_num = i;
// 各ムービークリップクリック時の動作を定義
_root["my_mc"+i].onRelease = function() {
_root["flag"+this.my_num] = 1;
// _root の flag0 ~ 2 が全て 1 であれば
if (_root.flag0 == 1 && _root.flag1 == 1 && _root.flag2 == 1) {
// _root の ボタン my_btn を表示
_root.my_btn._visible = true;
}
};
}
------------------------------------------

これで,一応できあがりです。


============================================

上では,まとめてフレームに書いていますが,
ムービークリップが3つ程度でしたら,
各ムービークリップにそれぞれ on(release){ } を書いても良いと思います。
例えば次のように↓。

フレームのスクリプト
------------------------------------------
// フラグ flag0 ~ 2 の初期値を 0 にする
flag0 = flag1=flag2=0;
//
// ボタン my_btn を非表示にする
_root.my_btn._visible = false;
------------------------------------------

ムービークリップ my_mc0 のスクリプト
------------------------------------------
on (release) {
_root.flag0 = 1;
// _root の flag0 ~ 2 が全て 1 であれば
if (_root.flag0 == 1 && _root.flag1 == 1 && _root.flag2 == 1) {
// _root の ボタン my_btn を表示
_root.my_btn._visible = true;
}
}
------------------------------------------

ムービークリップ my_mc1 のスクリプトは,
_root.flag0 = 1; を _root.flag1 = 1; に変更するだけです。
ムービークリップ my_mc2 のスクリプトは,
_root.flag0 = 1; を _root.flag2 = 1; に変更するだけです。

また,各ムービークリップにon(release){ } を書く場合は,
ムービークリップのインスタンス名は特に必要ありません。



二重線 ==== より上も下も同じ事です。
使いやすい方を使ってください。
また,上記は一例です。
様々な書き方ができるので,

 「ムービークリップ(MC) をクリックしたときに
 1本のフラグ(旗)を立てて,
 3本のフラグが立ったときのみ,ボタンを表示させる。」

というものを,
自分なりに コーディング(プログラムコード化) してみても良いですね。
    • good
    • 0
この回答へのお礼

sassakunさん、丁寧な回答ありがとうございました。
考え方だけでなく、サンプルコードを乗せてくださったので
初心者の私にもスムーズに理解することができました。
また、複数の考え方を教えていただけて幅が広がりました。
本当にありがとうございました。

お礼日時:2007/01/02 08:17

ボタンのオブジェクトに監視用のフラグになる値を設定してMCがクリックされたらMCがボタンにイベントを渡してボタン内のフラグON


その時に他の値も調べて3つともONならvisibleにする

という原理でどうだろう
    • good
    • 0
この回答へのお礼

SAYKAさん、早速の回答ありがとうございました。
フラグか変数を活用すればとは思っていたのですが、
これで考えがまとまりました。
またアドバイスよろしくお願いします。

お礼日時:2007/01/02 08:12

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