マウスやキーを長押ししている間はパワー数値をためて、離したときにそのパワーを放出するしくみをつくってみましょう。
関連記事:
パワーゲージ(レベルゲージ)をつくる
マウス長押しで位置をズームアップ
ドラッグの距離をパワー数値に変換する
マウスを押した時間だけオブジェクトを拡大
マウス長押しで降下させて離せば引き上げる
マウスクリックを押している間と離したとき
Cubeオブジェクトと、やや大きめ平面オブジェクトを用意しました。
Cubeにはリジッドボディを追加し、X軸が回転しないようにチェックを入れています。
ClickPower.csを作成し、Cubeに追加します。
ClickPower.csを編集しましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class ClickPower : MonoBehaviour { private float power; public Rigidbody rb; void Start() { power = 0; } void Update() { if (Input.GetMouseButton(0)) { power += 0.1f; } if (Input.GetMouseButtonUp(0)) { rb = GetComponent<Rigidbody>(); rb.AddForce(0, 0, power, ForceMode.Impulse); power = 0; } Debug.Log(power); } } |
プレイしてみましょう。
Debug.Logでたまっていく数値が確認できます。
押している間はずっと加算されていって、離したときに0に戻る。
離した瞬間、Cubeオブジェクトにパワーを加えます。
関連記事:
パワーゲージ(レベルゲージ)をつくる
マウス長押しで位置をズームアップ
ドラッグの距離をパワー数値に変換する
マウスを押した時間だけオブジェクトを拡大
マウス長押しで降下させて離せば引き上げる