クリックした地点の座標情報を取得して、その数値を別の形で表現してみます。
ドラッグした距離と、Cubeに加える力が比例するしくみをつくってみましょう。

マウスを押下した地点と、離した地点で、それぞれX座標情報を取得。
この差の数値をパワーに変換しています。
関連記事:
パワーゲージ(レベルゲージ)をつくる
使いやすいライフゲージの作りかた
マウスを押した時間だけオブジェクトを拡大
MainCameraの回転量をドラッグで変える
X軸だけの移動量をfloat型で取得
マウスドラッグの長さを数値として扱う
Cubeオブジェクトと、長めの平面オブジェクトを準備しましょう。

Cubeにはリジッドボディを追加し、X軸が回転しないようにチェックを入れました。

ClickPower.csを作成し、Cubeに追加します。

コードは以下のように書きました。
| 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 30 31 32 33 34 35 36 | using System.Collections; using System.Collections.Generic; using UnityEngine; public class ClickPower : MonoBehaviour {     private float power;     public Rigidbody rb;     private float startPos;     private float endPos;     private Vector3 pos;       private Vector3 screenToWorldPointPosition;      void Start()     {         power = 0;     }      void Update()      {         pos = Input.mousePosition;           screenToWorldPointPosition = Camera.main.ScreenToWorldPoint (pos);         Debug.Log(power);         if (Input.GetMouseButtonDown(0))             {                 startPos = pos.x;             }         if (Input.GetMouseButtonUp(0))             {                 endPos = pos.x;                 power = endPos - startPos;                 rb = GetComponent<Rigidbody>();                 rb.AddForce(0, 0, power*0.05f, ForceMode.Impulse);             }      } } | 
クリック押下と離した時点で、ぞれぞれXのポジションを取得。
再計算してPowerの数値を出します。
プレイしてみましょう。

マウスドラッグした距離によって、Cubeの移動距離が変わります。
パワー数値は、Debug.Logで確認できます。
関連記事:
パワーゲージ(レベルゲージ)をつくる
使いやすいライフゲージの作りかた
マウスを押した時間だけオブジェクトを拡大
MainCameraの回転量をドラッグで変える
X軸だけの移動量をfloat型で取得
 
	   
         
         
           
         
           
        