⑫unity2Dの シーン(Scene)の移動について

 

シーン(Scene)は、

例えばで2面までのゲームがあるとすると、

  1. タイトルシーン
  2. キャラ選択シーン
  3. 1面シーン
  4. 1面クリア後のシーン
  5. 2面始まる前のイベントシーン
  6. 2面シーン
  7. 2面クリア後のシーン
  8. エンディングシーン
  9. 1.タイトルシーンからの別移動で、オプションシーン

といった感じで9このシーンを作ることになります。

 

「unityへのシーンの登録」

 具体的には、1こ目のシーンを開いて次の作業をします。 

  1. File から Build Settings を開く

    f:id:loveyama1976:20150815155936p:plain

 2.開いた画面で、Add Current をクリックすると、Scenes In Build に表示される。  f:id:loveyama1976:20150815160030p:plain

 これを9シーンあるので、後8回繰り返します。

(シーンを開く→ File から Build Settings を開く→Add Current をクリックする)

 

左下にPlatform がありますが、実際 Ios やAndroid で動かしたい(Buildしたい)時に必要であり、シーンの移動だけであれば、必要ありません。

 

また、Scenes In Build に表示されたシーンをDellキーでScenes In Buildから消したりしても、本体のデータが消えたり、

実際Buileするときに、Ios や Android などを選べるので、一度Iosを選んでしまったからといって、金輪際Iosだけになるとか はありません。

要は、

ばんばんAdd Current をクリックしても問題ありません。

 

「シーン(Scene)移動のScript」

次は、1面の敵のhpが0になったら、の1面クリア後のシーン(scene名:04.1meclear)に移動するというC#を例として書きます。

 

using UnityEngine;

using System.Collections;

 

public class Sceneidou1menclear : MonoBehaviour {

 

              //体力

              public float hp = 5000;

              public float Maxhp = 5000;

//ダメージ設定

              public float BukiDamage = 10;

                           

    //シーンの移動の設定

              void Update () {

 

                            // ヒットポイントが0以下であれば、シーン移動する。

                            If (hp < 1 )

                            {

                                          Application.LoadLevel ("04.1meclear");

                            }

    }

 

    //ダメージの設定 CollisionにBukiタグがあるときは、hpを減らす)

              void OnCollisionStay2D(Collision2D collision)

              {                                                                                  

                            if (collision.gameObject.tag == "Buki")

                            {

                                          // ヒットポイントを減らす

                                          hp = hp - BukiDamage ;  

        }

    }

}

 

この、scriptの中段にあるApplication.LoadLevel ("○○"); がシーンの移動関数です。 

○○に、Add Current してある シーンを入力してあげると、シーンが移動します。 

 

例えば、タイトルのPushStartという、UGUIのボタンにScriptをふっつけて内容に、

 

public void StartPush()

                           

              {

                            Application.LoadLevel ("02kyarasentaku");

              }

 

として、UGUIのボタンを設定すると、

 タイトルで、PushStartボタンを押したら、キャラ選択シーン(02kyarasentaku);

に移動します。

 

f:id:loveyama1976:20150815160552p:plain

                      ↓

f:id:loveyama1976:20150815160657p:plain

                       

 

 

簡単ですね!以上です。

次回はボタンや、会話などを表示させる、UGUIについて、ど素人なりに説明します。