スライダーを使ってボールのスピードを制御する【Unity・ボウリング】

前回、レーンに向かってボールの投げる位置を調整する機能を付けました。

様々な位置からボールを投げることが出来ますが、常に同じショットスピードのためゲームの面白味に欠けてしまいます。

今回は、スライダーコンポーネントを使って、ボールの勢いメーターを作成します。これにより、プレイヤーはメーターを見ながらボールのスピードを選択することが出来るようになります。

スポンサーリンク

スライダーを使ってボールのスピードを制御する【Unity・ボウリング】

まずは、「UI」→「Slider」でスライダーを作成します。

スライダーコンポーネントの使い方については、以前記事にしているのでそちらを参照してもらえればと思います。

範囲内に入ったらライフゲージや敵の名前を表示する【Unity】
今回は、敵の範囲内にプレイヤーが入ったら左上に敵の名前とライフゲージを表示させてみようと思います。 範囲内に入ったらライフゲージや敵の名前を表示する【Unity】 サーチ用のコライダは、プレイヤーか敵いずれかに設定する必要がありますが、私は...

スライダーを配置

ちなみに、見栄えはこのような状態になります。

青いと白で構成されたスライダーになっていて、画像はvalueが1(メーターがMAXの状態)になりますね。

Throwスクリプトを修正する

ゲームが実行されたら、Time.deltaTimeを使ってメーターの増減を繰り返します。

左クリックが押されて、ボールを投げられる条件だったら、押されたタイミングのslider.valueの値と事前に設定していたショットスピードを掛け合わせます。これにより、ボールの勢いがメーターによって調整できるわけですね。

プレイヤーがどれくらいの位置でクリックしたのかを分かるように、メーターは表示したままにしておき、メーターの増減もストップさせます。

スクリプトを保存したら、Sliderコンポーネントをインスペクタから設定してゲームを実行します。

このようになりました。

メーター増減のスピードなどは、お好みで設定するようにしてください。

私は実装していませんが、何のメーターか分かるように、横に「勢い」などと書いたテキストを配置するのも良いと思います。