Beispiel #1
0
    // 初期化---------------------------------------------------------------------------------------------
    void Start()
    {
        transitionState = TRANSITION_STATE.START;
        pos             = Arrow.transform.position;

        AudioSource[] audioSources = GetComponents <AudioSource>();
        sound01 = audioSources[0];
        sound02 = audioSources[1];

        Alfa      = 0.0f;
        FadeSpeed = 0.01f;
        FadeFlag  = false;

        CircleButtonPushFlag = false;
        SelectFlag           = false;
    }
Beispiel #2
0
    // Update is called once per frame
    void Update()
    {
        switch (transitionState)
        {
        case TRANSITION_STATE.START:    //最初の状態

            //○ボタンを押したら処理
            if (Input.GetButton("Circle"))
            {
                //○ボタンを押すように示すテキストを非表示に
                ButtonPushText.gameObject.SetActive(false);
                //他のテキストを表示するように
                MatchingGoText.gameObject.SetActive(true);
                TutorialGoText.gameObject.SetActive(true);
                //どの選択肢を選んでいるか分かるようにするオブジェクト
                Arrow.SetActive(true);
                //マッチングルームへ遷移可能な状態に
                transitionState = TRANSITION_STATE.MATCHINGROOM;
                //効果音を再生
                sound02.PlayOneShot(sound02.clip);
                //ボタンは押されているのでフラグをtrueに
                CircleButtonPushFlag = true;
            }

            if (Input.GetKeyDown(KeyCode.Return))
            {
                //○ボタンを押すように示すテキストを非表示に
                ButtonPushText.gameObject.SetActive(false);
                //他のテキストを表示するように
                MatchingGoText.gameObject.SetActive(true);
                TutorialGoText.gameObject.SetActive(true);
                //どの選択肢を選んでいるか分かるようにするオブジェクト
                Arrow.SetActive(true);
                //マッチングルームへ遷移可能な状態に
                transitionState = TRANSITION_STATE.MATCHINGROOM;
                //効果音を再生
                sound02.PlayOneShot(sound02.clip);
                //ボタンは押されているのでフラグをtrueに
                CircleButtonPushFlag = true;
            }

            break;

        case TRANSITION_STATE.MATCHINGROOM:    //マッチングルームへの遷移


            pos.y = 365f;

            //矢印キーの上下どちらかを押した場合に処理
            if (Input.GetAxisRaw("Vertical") == 1 || Input.GetAxisRaw("Vertical") == -1)
            {
                //フェードアウトが実行されていないなら処理される
                if (FadeFlag == false && SelectFlag == false)
                {
                    //ステートをTUTORIALに変更
                    transitionState = TRANSITION_STATE.TUTORIAL;
                    //効果音の再生
                    sound01.PlayOneShot(sound01.clip);
                    //アナログスティックの入力が行われたのでtrueに
                    SelectFlag = true;
                }
            }
            else
            {
                //入力が無いのでフラグはfalseに
                SelectFlag = false;
            }


            if (Input.GetButton("Circle"))
            {
                if (FadeFlag == false && CircleButtonPushFlag == false)
                {
                    //効果音を再生
                    sound02.PlayOneShot(sound02.clip);
                    //フラグをtrueにしてフェードアウトを実行
                    FadeFlag = true;
                }
            }
            else
            {
                CircleButtonPushFlag = false;
            }

            if (Input.GetKeyDown(KeyCode.Return))
            {
                if (FadeFlag == false)
                {
                    //効果音を再生
                    sound02.PlayOneShot(sound02.clip);
                    //フラグをtrueにしてフェードアウトを実行
                    FadeFlag = true;
                }
            }

            //α値が1.0fを超えたら画面が真っ暗になるので画面遷移を開始
            if (Alfa >= 1.0f)
            {
                //マッチングルームへ遷移する
                SceneManager.LoadScene("MatchingRoom");
            }

            break;

        case TRANSITION_STATE.TUTORIAL:    //チュートリアル画面への遷移

            pos.y = 183f;

            if (Input.GetAxisRaw("Vertical") > 0.1 || Input.GetAxisRaw("Vertical") < -0.1)
            {
                if (FadeFlag == false && SelectFlag == false)
                {
                    //ステートをMATCHINGROOMに変更
                    transitionState = TRANSITION_STATE.MATCHINGROOM;
                    sound01.PlayOneShot(sound01.clip);
                    SelectFlag = true;
                }
            }
            else
            {
                SelectFlag = false;
            }

            if (Input.GetButton("Circle"))
            {
                //フェードアウトを実行していない場合にのみ処理
                if (FadeFlag == false && CircleButtonPushFlag == false)
                {
                    //効果音を再生
                    sound02.PlayOneShot(sound02.clip);
                    //フラグをtrueにしてフェードアウトを実行
                    FadeFlag = true;
                }
            }
            else
            {
                CircleButtonPushFlag = false;
            }


            //α値が1.0fを超えたら画面が真っ暗になるので画面遷移を開始
            if (Alfa >= 1.0f)
            {
                //チュートリアル画面へ遷移する
                SceneManager.LoadScene("Tutorial");
            }

            break;
        }

        //フラグがtrueなら処理
        if (FadeFlag == true)
        {
            //α値を加算してフェードアウト
            Alfa += FadeSpeed;
        }
        //実際のImageの色
        FadeImage.color = new Color(0.0f, 0.0f, 0.0f, Alfa);

        Arrow.transform.position = pos;
    }