Unity視線アプリscene移動② スタート画面で背景色を決めておく

タイトルの内容のことをしたいと思います。

 

まず、同一シーンで背景色を値によって変える

スクリプトを作りました。

 

[Unity] Colorクラスに名前付きで備わっている色の一覧 - JoyPlotドキュメント

 

こちらを参考に名前で指定できるカラーの種類を全部入れてみました。

 

Main Cameraにアタッチしたスクリプトです。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MainCamera : MonoBehaviour
{

   

    // Start is called before the first frame update
    void Start()
    {

        int colornum = 7;

        //switch文
        switch (colornum)
        {

            case 1:

                GetComponent<UnityEngine.Camera>().backgroundColor = Color.white;
                break;

            case 2:
                GetComponent<UnityEngine.Camera>().backgroundColor = Color.black;
                break;

            case 3:
                GetComponent<UnityEngine.Camera>().backgroundColor = Color.gray;
                break;

            case 4:

                GetComponent<UnityEngine.Camera>().backgroundColor = Color.green;
                break;

            case 5:
                GetComponent<UnityEngine.Camera>().backgroundColor = Color.blue;
                break;

            case 6:
                GetComponent<UnityEngine.Camera>().backgroundColor = Color.cyan;
                break;

            case 7:
                GetComponent<UnityEngine.Camera>().backgroundColor = Color.yellow;
                break;

            default:
                GetComponent<UnityEngine.Camera>().backgroundColor = Color.magenta;
                break;

 

        }

 


    }

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

 

ここでは、   int colornum = 7 で指定しているので黄色の背景になります。

この数字をスタート画面から持ってこられないかな?と考えています。

 

Unityでシーンをまたいで値を保持する | ジョイタスネット (joytas.net)

 

↑こちらを参考に作りました。

出来ました。

 

スタート画面のボタンにアタッチしたスクリプトです。

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

public class OpenButton : MonoBehaviour
{

    public static int colornum = 6;
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.UpArrow))
        {
            colornum = 4;

        }
    }

public void OnClickStartButton()
    {

        SceneManager.LoadScene("ecard0.2");
    }
}

 

試しに、初期値を6にしています。

シアンです。

上矢印をここで押したら4=グリーンになります。

 

先ほどのMainCameraのswitchのところを


        //switch文
        switch (OpenButton.colornum)
        {

と、しました。

 

これだけで出来ました。

 

矢印キーを押さず、そのまま移動

 

上矢印を押してから移動