マウス(キー)を長押しした分だけ、高くジャンプできるように、スクリプトを作成してみましょう。
左クリックを長押しするとパワーが溜まり、クリックボタンを離せばジャンプ。
パワーの分だけ、高くジャンプすることができます。
関連記事:
パワーゲージ(レベルゲージ)をつくる
シフトキーでジャンプの高さを2倍にする
着地していればジャンプ可能(Collider)
着地していればジャンプ可能(Raycast)
キャラクターをジャンプさせるしくみ
クリックした方向へジャンプする
長押しした分だけジャンプ力が上がる
平面とCubeを作成し、Cubeを地上に出します。
Cubeにリジッドボディを追加します。
JumpScript.csを作成し、Cubeに追加します。
JumpScript.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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class JumpScript : MonoBehaviour { private Rigidbody rb; private int upForce; private bool isGround; void Start() { rb = GetComponent<Rigidbody>(); isGround = false; } void Update() { if(Input.GetMouseButton(0) && isGround) { if( upForce < 500) { upForce+=10; } } if(Input.GetMouseButtonUp(0) && isGround) { rb.AddForce(new Vector3(0,upForce,0)); upForce=0; } } void OnCollisionEnter(Collision collision) { if (collision.gameObject.name == "Plane" ) { isGround = true; } } void OnCollisionExit(Collision collision) { if (collision.gameObject.name == "Plane" ) { isGround = false; } } } |
ゲームプレイしましょう。
画面上でクリックボタンを長押します。
長押しの時間によってパワーが変化し、ジャンプの高さが変わります。
関連記事:
パワーゲージ(レベルゲージ)をつくる
シフトキーでジャンプの高さを2倍にする
着地していればジャンプ可能(Collider)
着地していればジャンプ可能(Raycast)
キャラクターをジャンプさせるしくみ
クリックした方向へジャンプする