前回、レーンに向かってボールの投げる位置を調整する機能を付けました。
様々な位置からボールを投げることが出来ますが、常に同じショットスピードのためゲームの面白味に欠けてしまいます。
今回は、スライダーコンポーネントを使って、ボールの勢いメーターを作成します。これにより、プレイヤーはメーターを見ながらボールのスピードを選択することが出来るようになります。
スライダーを使ってボールのスピードを制御する【Unity・ボウリング】
まずは、「UI」→「Slider」でスライダーを作成します。
スライダーコンポーネントの使い方については、以前記事にしているのでそちらを参照してもらえればと思います。
範囲内に入ったらライフゲージや敵の名前を表示する【Unity】
今回は、敵の範囲内にプレイヤーが入ったら左上に敵の名前とライフゲージを表示させてみようと思います。 範囲内に入ったらライフゲージや敵の名前を表示する【Unity】 サーチ用のコライダは、プレイヤーか敵いずれかに設定する必要がありますが、私は...
よ
ちなみに、見栄えはこのような状態になります。
青いと白で構成されたスライダーになっていて、画像はvalueが1(メーターがMAXの状態)になりますね。
Throwスクリプトを修正する
ゲームが実行されたら、Time.deltaTimeを使ってメーターの増減を繰り返します。
左クリックが押されて、ボールを投げられる条件だったら、押されたタイミングのslider.valueの値と事前に設定していたショットスピードを掛け合わせます。これにより、ボールの勢いがメーターによって調整できるわけですね。
プレイヤーがどれくらいの位置でクリックしたのかを分かるように、メーターは表示したままにしておき、メーターの増減もストップさせます。
スクリプトを保存したら、Sliderコンポーネントをインスペクタから設定してゲームを実行します。
このようになりました。
メーター増減のスピードなどは、お好みで設定するようにしてください。
私は実装していませんが、何のメーターか分かるように、横に「勢い」などと書いたテキストを配置するのも良いと思います。