(今回はこんなことを学びます)
・ボタンを押すとジャンプする機能の作成
・ボタンを変更する方法
(1)スクリプトを作成する
今回は、前回までに作成した「Ball」スクリプトにコードを追加します。
・「Ball」スクリプトをダブルクリックしてください。
・そこに下記のコードを追加しましょう。
using UnityEngine;
using System.Collections;
public class Ball : MonoBehaviour {
	public float move_speed;
	private Rigidbody rb;
	public AudioClip coinGet;
	// ★①この2行を追加(変数の定義)
	public float jump_speed;
	private bool isJumping = false;
	// Use this for initialization
	void Start () {
		rb = GetComponent<Rigidbody>();
	
	}
	
	// Update is called once per frame
	void Update () {
		float moveHorizontal = Input.GetAxis("Horizontal");
		float moveVertical = Input.GetAxis("Vertical");
		Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical);
		rb.AddForce(movement * move_speed);
		// ★②このコードを追加する
		if(Input.GetButtonDown("Jump") && isJumping == false){
			rb.velocity = Vector3.up * jump_speed;
			isJumping = true;
		}
		// ここまで
	}
	// ★③このメソッド(命令ブロック)を追加
	void OnCollisionEnter(Collision col){
		if(col.gameObject.CompareTag("Floor")){
			isJumping = false;
		}
	}
	void OnTriggerEnter(Collider other){
		if(other.CompareTag("Coin")){
			Destroy(other.gameObject);
			AudioSource.PlayClipAtPoint(coinGet, transform.position);
		}
	}
}
(ここがポイント!)
・「jump_speed」は「public」で定義していますので、あとで「Inspector」上で数値を変更することができます。
・「bool」は「真偽型」と呼ばれ、「真=true」か「偽=false」か?の2値を扱います。
・『「bool isJumping」とはジャンプしているか?』という意味です。
・「false」は「偽(いいえ)」となります。
・「&&」は「かつ」という意味です。
・「if(A && B){ }」は、「AかつB」、つまり、「もしもAとBの両方の条件が揃った時・・・」という意味です。
・今回の場合は、「もしもJumpボタンが押され、かつ、Ballがジャンプしていない時は(ジャンプする)」となります。
・こうすることによって、空中にいる時(「is jumping = true」)にはジャンプはできなくなります(二段ジャンプの禁止)。
(2)Tagの設定
・コードを追加したらセーブしましょう。
・「Hierarchy」で「Ball」オブジェクトを選択
・「Inspector」で「jump_speed」の数値を変更しましょう。
次は、「Floor」にTag(タグ)を設定します。
・「Inspector」の「Tag Untagged」をクリック
・「Add Tag…」をクリック
・「+」をクリック
・「Floor」を記入してエンター
・これで「Floor」という名前のTagが登録されました。
・もう一度「Hierarchy」で「Floor」オブジェクトを選択
・「Inspector」で「Tag Untagged」をクリック
・「Floor」を選択してクリック
これでタグの設定が完了しました。
・「再生ボタン」を押してみましょう。
・「スペースキー」を押すとジャンプする。空中ではジャンプできない。着地するとまたジャンプする。
これらができると成功です。
(3)ボタンを変更してみよう
今回は「スペースキー(space)」ボタンを押すとジャンプしました。
これを別のボタンに変更する方法を紹介します。
・「Edit」をクリック
・「Project Settings」を選択
・「Input」を選択してクリック
・「Axes」をクリック
・「▶︎Jumo」をクリック
・「Positive Button」の中が「space」となっていることを確認
・「space」を「q」に変更(*小文字にしないとエラーになります)
・「再生ボタン」を押してみましょう。今度は、「スペースキー」を押してもジャンプしません。「Q」を押すとジャンプします。
自分の好きなボタンに変更してみましょう。










