Webデザインノート|スロット・IEブラウザチェック
今日のスロット(改造版)
※当たり判定表示機能をつけました
※数字の変化速度をわざと遅くしてます
※最初、リセットボタン押してからでお願いします。
ソースでストップかけてるのに、記事に貼りつけると勝手に動いてしまいます。
メインソース
this.onLoad = function() { num01_mc.stop(); num02_mc.stop(); num03_mc.stop(); } var num1; /* 止まったナンバー(フレーム)代入用 */ var num2; var num3; var btn_cnt ; /* 押したボタン数のカウント用 */ start_btn.onRelease = function() { num01_mc.play(); num02_mc.play(); num03_mc.play(); btn_cnt = 0; /* 押したボタン数リセット */ output_txt.text = (""); /* 結果出力テキストリセット */ } reset_btn.onRelease = function() { num01_mc.gotoAndStop(1); num02_mc.gotoAndStop(1); num03_mc.gotoAndStop(1); output_txt.text = (""); } stop01_btn.onPress = function() { num01_mc.stop(); num1 = num01_mc.rtnNum(); /* 止まったナンバー(フレーム)を代入 */ btn_cnt++; /* 押したボタン数カウントアップ */ if(btn_cnt >= 3){ /* 押したボタンの数が3つだった場合 */ hantei(); /* 判定出力関数呼び出し */ } } stop02_btn.onPress = function() { num02_mc.stop(); num2 = num02_mc.rtnNum(); btn_cnt++; if(btn_cnt >= 3){ hantei(); } } stop03_btn.onPress = function() { num03_mc.stop(); num3 = num03_mc.rtnNum(); btn_cnt++; if(btn_cnt >= 3){ hantei(); } } function hantei(){ if((num1 == num2) && (num2 == num3) && (num1 == num3)){ output_txt.text = ("当たり"); } else { output_txt.text = ("はずれ"); } }
数字ムービークリップの中のScriptソース
function rtnNum() { return this._currentframe; }
※こちらは数字MCに指定したユーザー定義関数です。
止まった時点でのフレームは何番目かをメイン側に返します。
説明
ボタンが押される度に、数字ごとのユーザー定義関数「rtnNum()」を呼び出し、戻ってきたフレーム数を変数に代入してストック。
全部のボタンが押された時点でユーザー定義関数「hantei()」を開始。
そこで、先ほどのストックされたフレーム数が全て一致している場合、ダイナミックテキストに「当たり」を表示。それ以外は「はずれ」を表示する。