unityであたり判定によるゲームオーバーの実装

今回はunityであたり判定によるゲームオーバーを実装していきたいと思います。

 

 

まずは

プレイするsceneとゲームオーバーのsceneを作ってください。

 

 

次にPlayerと敵(当たったらゲームオーバーになるオブジェクト)

にRigidbodyとBox Colliderをコンポーネントしてください。

 

では、scriptを打っていきます

 

 

 

 

 

using UnityEngine;
using System.Collections;

public class atarihantei : MonoBehaviour {

// Use this for initialization
void Start () {


}

// Update is called once per frame
void Update () {

}

void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.name == "オブジェクト名")
{
Application.LoadLevel("gameover");
}
}
}

 

 

このscriptをPlayerにコンポーネントしてください

 

 

そしたらPlayerがそのオブジェクトに当たったらゲームオーバーのsceneに移行すると思います。

 

 

unityでSceneの切り替えをする

今回はunityでSceneの切り替えについて話したいと思います。

 

まずはUIのButtonを作成しましょう。

 

そしたらscriptを打ちます

 

using UnityEngine;
using System.Collections;

public class start : MonoBehaviour
{

public void SceneLoad()
{
Application.LoadLevel("ここに切り替えたいScene");
}
}

 

 

こんな感じです

 

 

続いてこれをButtonにComponentしたら、

 

 

OnClickの中にもにscriptを入れる

 

さらにButtonを選択して

SceneLoad()を選択する。

 

こんな感じ

 

以上です

 

うまくいきましたか?

 

 

 

unityでplayerを操作する

今回はunityでplayerを操作できうようにしていきたいとおもいます。

 

まずは「ボタンを押したら」というscriptを打ちましょう。

 


if (Input.GetKey(KeyCode.UpArrow))

 

このようになります。
KeyCodeの後に押すボタンのキーコードを入力します。
今回は矢印↑のキーコードを使います。

 

そしたら本題
playerを動くようにしていきましょう


if (Input.GetKey(KeyCode.UpArrow))

transform.Translate(transform.forward * 0.3f);

このようになります。
「動く」というので大事なのが
Translate
というものです。


こんな感じで


using UnityEngine;
using System.Collections;

public class player: MonoBehaviour {

// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {

if (Input.GetKey(KeyCode..UpArrow))
{
    transform.Translate(transform.forward * 0.3f);
}
if (Input.GetKey(KeyCode.RightArrow))
{
transform.Translate(transform.right * 0.3f);
}
if (Input.GetKey(KeyCode.LeftArrow))
{
transform.Translate(transform.right * -0.3f);
}

 

}
}

これで右と左と前に移動出来るようになりましたね。