Exemple #1
0
    void GameStart()     //遊戲狀態UI設定
    {
        IsTutoring = false;
        TutorialText.SetActive(false);
        TutorialStart.SetActive(false);

        IsPlaying = true;
        Player.SetActive(true);
        HpPic0.SetActive(true);
        HpText.SetActive(true);
        ScoreTextObject.SetActive(true);
    }
Exemple #2
0
    // Update is called once per frame
    void Update()
    {
        time += Time.deltaTime;         //設定時間參數

        if (Input.GetKeyDown(KeyCode.Space) && SpaceCount == 0)
        {
            SpaceCount += 1;    //標題頁至教學頁的轉換
            time        = 0;    //計算教學頁閱讀說明間隔會用到,所以將time重置
            GameTutor();
        }

        if (IsTutoring == true && time > 1)     //一個閱讀說明的間隔後,指示跳出
        {
            TutorialStart.SetActive(true);

            if (Input.GetKeyDown(KeyCode.Space))
            {
                SpaceCount += 1; //進入遊戲頁的條件式
                time        = 0; //遊戲狀態生成敵人會用到,所以將time重置
            }
        }

        if (SpaceCount == 2)    //進入遊戲狀態,同時讓SpaceCount增加,讓這個條件不被觸發
        {
            GameStart();
            SpaceCount += 1;
        }

        if (IsPlaying == true)  //進入遊戲後將標題音樂停止
        {
            this.BackgroundMusic.Stop();
        }

        if (IsPlaying == true && EnemyCount < EnemyMax && time > 0.7f)     //決定第一隻敵人出現的時間、敵人出現的間隔
        {
            Vector3 pos = new Vector3(Random.Range(-4.2f, 4.2f), 9.3f, 0); //隨機給定pos(x,y,z)為(-4.2~4.2 , 9.3 , 0)範圍內的座標
            Instantiate(Enemy, pos, transform.rotation);                   //在pos生成敵人
            EnemyCount += 1;
            time        = 0;
        }

        switch (HurtCount)
        {                       //以被擊次數為條件,計算並將當前血量可視化
        case 1:
            HpPic0.SetActive(false);
            HpPic1.SetActive(true);
            break;

        case 2:
            HpPic1.SetActive(false);
            HpPic2.SetActive(true);
            break;

        case 3:
            HpPic2.SetActive(false);
            HpPic3.SetActive(true);
            break;

        case 4:
            HpPic3.SetActive(false);
            HpPic4.SetActive(true);
            break;

        case 5:
            HpPic4.SetActive(false);
            HpPic5.SetActive(true);
            break;

        case 6:
            HpPic5.SetActive(false);
            HpPic6.SetActive(true);
            break;

        case 7:
            HpPic6.SetActive(false);
            HpPic7.SetActive(true);
            break;

        case 8:
            HpPic7.SetActive(false);
            HpPic8.SetActive(true);
            break;

        case 9:
            HpPic8.SetActive(false);
            HpPic9.SetActive(true);
            break;

        case 10:
            HpPic9.SetActive(false);
            break;
        }

        if (KillCount >= EnemyMax)       //設定過關標準(敵人全滅)
        {
            Succeed();
        }

        if (Input.GetKeyDown(KeyCode.R))    //可以按R鍵回到標題頁
        {
            SceneManager.LoadScene(0);
        }
        if (Input.GetKeyDown(KeyCode.Escape))   //可以按Esc退出遊戲程式
        {
            Application.Quit();
        }
    }