Exemple #1
0
    // Update is called once per frame
    void Update()
    {
        if (modeFlag)
        {
            DeleteMode();
        }
        else
        {
            JumpMode();
        }

        // 時間計測
        timer       += Time.deltaTime;
        everySecond -= Time.deltaTime;

        // タイムによってレベルを変える
        LevelChange();

        // 台が3つ以下になったら追加
        if (standList.Count < 4)
        {
            CreateStem();
        }

        // リスト検索
        for (int i = 0; i < standList.Count; i++)
        {
            // 台を下げる
            standList[i].transform.Translate(0, -fallSpeed, 0);
            // 一定の位置まで下がったら消す
            if (standList[i].transform.position.y <= deletePos)
            {
                Destroy(standList[i]);
                standList.RemoveAt(0);
                continue;
            }
        }

        // 毎秒スコアを加算する
        if (everySecond <= 0.0f && pauseFlag == false)
        {
            //GameObject player = GameObject.FindGameObjectWithTag(TagName.TriggerCollider);
            player      = GameObject.FindGameObjectWithTag(TagName.TriggerCollider);
            playerY     = player.transform.position.y;
            obstaclFlag = PlayerRigObj.GetObstacleFlag();
            if (playerY >= -3.0f && obstaclFlag == false)
            {
                // タイムをテキストに表示
                gameScore += levelScore;//(int)timer * levelScore;
            }
            everySecond = 1.0f;
        }
        scoreText.text = gameScore.ToString();

        //if (Input.GetKeyDown(KeyCode.Alpha1))
        //{
        //    float num1 = standList[0].transform.position.y - standList[1].transform.position.y;
        //    Debug.Log(standList[0].name + " , " + standList[1].name + " 差 " + num1);
        //    float num2 = standList[1].transform.position.y - standList[2].transform.position.y;
        //    Debug.Log(standList[1].name + " , " + standList[2].name + " 差 " + num2);
        //}

        if (timer >= LEVEL3_TIME)
        {
            obstacleInterval = OBSTACLE_INTERVAL_LEVEL2;
        }

        if (timer - startTime >= obstacleInterval)
        {
            intervalFlag = true;
            startTime    = 0.0f;
        }

        // 警告オブジェクトがアクティブ状態なら
        if (warningObject.activeSelf)
        {
            flash = Mathf.Abs(Mathf.Sin(Time.time * FLASH_TIME));
            // 点滅を行う
            WarningObJectImage.color = new Color(1.0f, 1.0f, 0.0f, flash);

            if (SirenFlag)
            {
                SirenAudioSource.PlayOneShot(Siren);

                SirenFlag = false;
            }
        }

        ////  レベルアップテキストがアクティブ状態なら
        //if (LevelUpText.activeSelf)
        //{
        //    float flash = Mathf.Abs(Mathf.Sin(Time.time * LEVEL_UP_FLASH_TIME));
        //    //  点滅を行う
        //    LevelUpText.GetComponent<Text>().color = new Color(1.0f, 0.0f, 0.0f, flash);
        //}
    }