(タイトルシーン)
・ボタンを4個作成
(ボタン専用のスクリプト)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class CarSelectButton : MonoBehaviour
{
public string selectCarName;
public void CarSelectButtonClicked()
{
// ★ポイント
// シーン遷移時に呼び出したいメソッドを登録する(今回の場合は、SetCar())
SceneManager.sceneLoaded += SetCar;
SceneManager.LoadScene("CarStage");
}
// ★ポイント
// 呼び出すメソッドを定義する(中身を書く)
void SetCar(Scene next, LoadSceneMode mode)
{
CarSelect cs = GameObject.Find("CarSelect").GetComponent<CarSelect>();
cs.carName = selectCarName;
// 登録したメソッドを削除する。
SceneManager.sceneLoaded -= SetCar;
}
}
(ボタンの設定)
(メインシーン)
*オブジェクトを4個作成
*すべて非アクティブ状態にする。
<タイトルシーンでセレクトしたオブジェクトをアクティブ状態にする>
(スクリプト)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CarSelect : MonoBehaviour
{
public GameObject redCar;
public GameObject greenCar;
public GameObject blueCar;
public GameObject yellowCar;
public string carName { get; set; }
void Start()
{
if (carName == "red")
{
redCar.SetActive(true);
}
else if (carName == "green")
{
greenCar.SetActive(true);
}
else if (carName == "blue")
{
blueCar.SetActive(true);
}
else if (carName == "yellow")
{
yellowCar.SetActive(true);
}
}
}
(設定)
(実行結果)
・タイトルシーンでセレクトしたオブジェクトが、メインシーンでアクティブ状態になっていれば成功