WebデザインノートBOOK

Webクリエイターに関する勉強を書き記したブログになります。

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データ欲しい方はメッセージくださいね。