• 2016/05/06

    週刊ツクール vol.17

    週刊ツクール第17弾は、釣りシステムの実装方法をレクチャー!

    バックナンバーはこちらから。
    更新はtwitterでもお知らせしていきますので、是非フォローお願いします。

    ハロルドさんの釣り三昧GW

    金曜日の有給申請により、見事大型連休を確保したハロルドは釣りに出かけることにしました。
    山を越え、川釣りスポットに到着したハロルドは "なんだか魚が釣れそうな水面" を発見します。

    水面の色を変えれば釣り堀スポットが分かりやすい

    というわけで今日は、MVで『動●の森』のような釣りシステムを実装してみます。


    • プレイヤーは特定のスポットで釣りを開始
    • ランダムな時間待つことで、魚が食いつきます!(音でお知らせ)
    • タイミングよく決定ボタンを押すことで釣り上げることが可能

    ボタンを押すタイミングは、遅くても早くても釣り上げ失敗に。。旅路のちょっとしたミニゲーム要素にぴったりです!



    釣りシステムに必要なのは?
    プレイヤーが何匹の魚を釣り上げたかをトラックし、それをアイテムとして追加する仕組みが必要です。
    今回はCount変数を使い、プレイヤーが決定ボタンを押すタイミングを測ります。

    最近では変数管理も簡単ですね

    それでは、このイベントが行うべき動作を、まずは文章で確認してみましょう!


    • 1.1~6秒の間でランダムに待機。
    •   1.プレイヤーは決定ボタンをこの時間内に押したか? ⇒ ○:"早すぎる"のメッセージを出して、イベントを終了。
    • 2.水しぶきのSEを再生
    • 3.1/2秒待機。
    •   1.プレイヤーは決定ボタンをこの時間内に押したか? ⇒ ○:魚をプレイヤーに与えて、イベントを終了。
    •   2.プレイヤーは決定ボタンをこの時間内に押したか? ⇒ ×:失敗のメッセージを表示して、イベントを終了。

    まずは30フレーム(=1/2秒)待機の時間を追加します。これにより、イベントの開始と釣り上げの際のインプットの識別を行います。
    これを追加しなければ、イベントスタートと同時に『釣り上げアクションをした』ことになってしまいますので、注意してくださいね!

    次に、30~270のランダムなフレームを追加することで、1~6秒に値する待機時間を作ることができます。
    そして、これだけでは上手くいかないため、次にループを使う必要があります。


    ループと条件判定を使ってみよう!
    まずは30~270フレームの変数を設定しましょう。ただしここでは、下記の要領でループを用いる必要があります。


    • 1フレーム待機
    • OKボタンを押したかチェック
    •   早すぎた場合はメッセージを出してループを終わらせる
    • カウント変数から1を引く
    • カウント変数が0かどうかチェック
    •   0である場合はループを終わらせる
    • 0でない場合は最初に戻ってループ

    とても単純なループの構成ですが、類似のパズルを作る際には非常に役に立ちます。
    これを実際にMVに入れてみると、下記のようになるはずです。

    まずは0.5秒待ち、そのあと更に0.5~5.5秒待機するというアクションを行います。
    そしてループをスタートし、プレイヤーがボタンを押すか、カウントが0になったらループを中断させるのです。

    それでは最後に、"条件分岐: Count = 0"の中身を作っていきましょう!
    詳しいプロセスは省略しますが、先ほどと同じように、下記を参照に入力してみてください。

    さて、どうでしょうか?上手く作ることができましたか?
    英語版ではありますが、こちらからデモも落とせますのでチェックしてみてくださいね♪

    今週の無料素材

    飲食店向けちびキャラ
    今週の無料素材は、ウェイトレスとウェイターさんのちびキャラ!
    レストランだけでなく、お屋敷の執事としての利用もおススメです。

     =333

    ダウンロードはこちらから。

    それではみなさん、良い週末を~!

  • 戻る