FLASH|当たり判定を追加したスロット
/*** 初期設定 ***/ num1_mc.stop(); // 数値ムービークリップの回転ストップ num2_mc.stop(); num3_mc.stop(); result_mc.stop(); // 結果表示ムービークリップをストップ /* 変数宣言 */ var num1: Number = -1; // 止まった数値代入用変数&初期値設定 var num2: Number = -1; var num3: Number = -1; var playFlg: Boolean = false; // slotのスタートフラグ(オフ) /*** メインスクリプト ***/ start_btn.onPress = function(){ num1_mc.play(); // 数値ムービークリップの回転スタート num2_mc.play(); num3_mc.play(); playFlg = true; // slotのスタートフラグ(オン) num1 = -1; // 数値代入用変数の初期値設定 num2 = -1; num3 = -1; } btn1_btn.onPress = function(){ // ボタン1が押された時 num1_mc.stop(); // 数値の回転ストップ // 数値mcのフレーム数(1〜10)から1を引いた数を代入。 // つまり、-1の場合はボタンが押されていない状態であり、 // それ以外の数値(0〜9)の場合は押されている状態とする。 num1 = num1_mc._currentframe - 1; // slotスタートフラグが(オン)の状態で、 // このボタン以外の2つのボタンも押されている状態だった場合。 if( (playFlg == true) && (num2 != -1) && (num3 != -1) ){ resultOutput(); // 結果表示関数へ... } } btn2_btn.onPress = function(){ // 上とほぼ同じ説明 num2_mc.stop(); num2 = num2_mc._currentframe - 1; if( (playFlg == true) && (num1 != -1) && (num3 != -1) ){ resultOutput(); } } btn3_btn.onPress = function(){ // 上とほぼ同じ説明 num3_mc.stop(); num3 = num3_mc._currentframe - 1; if( (playFlg == true) && (num1 != -1) && (num2 != -1) ){ resultOutput(); } } /*** 結果表示関数 ***/ function resultOutput(){ // 関数始まるよー!の合図。 // 数値1と2、数値2と3が一致している場合、 // 数値1と3も同じである。 // つまり、3つの数値が全部同じである場合。 if( (num1 == num2) && (num2 == num3) ){ // あたりムービーへ飛ぶ。 result_mc.gotoAndPlay(2); }else{ // はずれムービーへ飛ぶ。 result_mc.gotoAndPlay(18); } // リセット playFlg = false; // slotスタートフラグを(オフ)にする。 num1 = -1; // 数値代入用変数の初期値設定 num2 = -1; num3 = -1; }
説明下手ですみません。上の解説でわかりますでしょうか・・・。
自分はActionレイヤーにスクリプトを一括して書くやりかたの方が書きやすいのですが、結果表示のムービー(戻るボタンなど)は面倒くさかったので、今回はそちらに直接スクリプトを書きました。
▼無駄にフォントを埋め込んでるのでちょっと重いですが、flashデータはこちらにあります。バージョンはcs5に落としてあります。
参考までにどうぞ〜
slot_.zip
※公開してましたが、やめました。
.flaデータ欲しい方はメッセージくださいね。