Shiftキーを押しながらジャンプをすれば、2倍の高さまで行けるように、スクリプトを作成してみましょう。
マウスクリックでCubeがジャンプ。シフトを押したままクリックすれば、さらに高いところまでジャンプできます。
関連記事:
シフトキーで走るアニメーションの作成
着地していればジャンプ可能
クリックすればオブジェクトが浮上するしくみ
マウス長押しでジャンプ力を溜める
Shiftキーを押してクリックで数値を変える
PlaneとCubeを作成し、Cubeにリジッドボディを追加します。
CubeJump.csを作成し、Cubeに追加します。
CubeJump.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 CubeJump : MonoBehaviour { private Rigidbody rb; private int upForce; private bool isGround; void Start() { rb = GetComponent<Rigidbody>(); upForce = 200; isGround = false; } void Update() { if(Input.GetMouseButtonDown(0) && isGround) { if(Input.GetKey("left shift")) { upForce = 400; } else { upForce = 200; } rb.AddForce(new Vector3(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; } } } |
ゲームプレイしてみましょう。
クリックすると通常ジャンプ。
Shiftを押しながらクリックで、2倍の高さジャンプします。