[34]スクリプトの改良

次にスクリプトを改良していきます。

「Ballスクリプト」をダブルクリック。

「★の部分のコードを削除&追加」しましょう。

using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;

public class Ball : MonoBehaviour {

	public float move_speed;
	public float jump_speed;
	public AudioClip coinGet;
	private Rigidbody rb;
	private int count;
	private bool isJumping = false;

	void Start () {

		rb = GetComponent<Rigidbody>();
		count = 0;
	}

	public int Coin(){
		return count;
	}

	// ★Updateメソッド(命令ブロック)の中身を「全部削除」しましょう。
	void Update () {

	}

	void OnCollisionEnter(Collision coll){
		if(coll.gameObject.CompareTag("Floor")){
			isJumping = false;
		}
	}

	void OnTriggerEnter(Collider other){

		if(other.CompareTag("Coin")){
			Destroy(other.gameObject);

			AudioSource.PlayClipAtPoint(coinGet, transform.position);

			count = count + 1;

			if(count == 4){
				Invoke("ReturnToFile", 0.5f);
			}
		}
	}

	void ReturnToFile(){
		SceneManager.LoadScene("GameClear");
	}


	// ★スマホ対応(コントロールボタン)
	// 下記のコードを追加してください。
	public void Jump(){

		if(isJumping == false){
			rb.velocity = Vector3.up * jump_speed;
			isJumping = true;
		}
	}

	public void LeftMove(){
		rb.velocity = Vector3.left * move_speed;
	}

	public void RightMove(){
		rb.velocity = Vector3.right * move_speed;
	}

	public void ForwardMove(){
		rb.velocity = Vector3.forward * move_speed;
	}

	public void BackMove(){
		rb.velocity = Vector3.back * move_speed;
	}

	// ★ここまで
}

・スクリプトの改良ができたらチェック。

・「RightButton」オブジェクトをクリック

・「Inspector」で「+」ボタンをクリック

スクリーンショット 2016-08-27 10.47.30

「Ball」オブジェクトを空欄にドラッグ&ドロップ

スクリーンショット 2016-08-27 10.47.41

「No Function」をクリック→「Ball」を選択→「RightMove()」を選択してクリック

スクリーンショット 2016-08-27 10.47.49

これで1つ目のボタンの設定が完了です。

・再生ボタンを押してみましょう。

・RightButtonアイコンを押した時に、Ballが右方向に動けば成功です。

スクリーンショット 2016-08-27 10.54.24

*この作業を全ボタンで行いましょう。