⑫unity2Dの シーン(Scene)の移動について
シーン(Scene)は、
例えばで2面までのゲームがあるとすると、
- タイトルシーン
- キャラ選択シーン
- 1面シーン
- 1面クリア後のシーン
- 2面始まる前のイベントシーン
- 2面シーン
- 2面クリア後のシーン
- エンディングシーン
- 1.タイトルシーンからの別移動で、オプションシーン
といった感じで9このシーンを作ることになります。
「unityへのシーンの登録」
具体的には、1こ目のシーンを開いて次の作業をします。
- File から Build Settings を開く
2.開いた画面で、Add Current をクリックすると、Scenes In Build に表示される。
これを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);
に移動します。
↓
簡単ですね!以上です。
次回はボタンや、会話などを表示させる、UGUIについて、ど素人なりに説明します。