Example #1
0
    void Update()
    {
        // 終点までの移動割合を計算(Min:0 ~ Max:1)
        float fT = (float)iCnt / (iTotalPoints - 1);

        // GetPoint関数を使い、移動座標の計算(ベジェ曲線)
        vMovePoint = GetPoint(vStartPos,
                              gRelayObject1.transform.position,
                              gRelayObject2.transform.position,
                              gTarget.transform.position, fT);

        // オブジェクト移動
        this.transform.position = vMovePoint;

        // カウントが規定値になるまで加算
        if (iCnt <= iMiddlePoints * 2)
        {
            iCnt++;
        }
        else
        {
            CScore.AddFScore();
            Destroy(this.gameObject);
        }
    }
Example #2
0
    public void UpdateLevel()
    {
        if (CScore.GetScore() >= Level[iLevel].iGoal)
        {
            if (isEnd)  // 終了
            {
                CPauser.Pause();
                CScore.AddFScore();
                CScore.AddFScore();
                CScore.AddFScore();
                CSceneManager CSM = GameObject.Find("FadeCanvas").GetComponent <CSceneManager>();
                CSM.OnChangeScene_Result();
            }
            else
            {
                // 現在時間取得
                float endtime = gTimer.GetComponent <CNumberManager>().Get_fTime();

                // ステージクリア時間算出
                float totaltime = endtime - fStartTime;
                int   timelimit = Level[iLevel].iMinutes * 60 + Level[iLevel].iSeconds;
                Level[iLevel].fTotalTime = totaltime;
                if (totaltime > timelimit || iLevel >= 5) // 制限時間内にクリアしなかったら次のステージで終了
                {
                    isEnd = true;
                }
                // スタート時間更新
                fStartTime = endtime;

                iLevel++;
                gScore.GetComponent <CScore>().Set_iScoreParam(Level[iLevel].iGoal);
                CObjectManager.Instance.Create(Level[iLevel].iObjectNum - Level[iLevel - 1].iObjectNum);
            }
        }
    }
Example #3
0
    void Update()
    {
        // ポーズ画面の時にオブジェクトが回転しないような処理
        if (Mathf.Approximately(Time.timeScale, 0f))
        {
            return;
        }

        // 終点までの移動割合を計算(Min:0 ~ Max:1)
        float fT = (float)iCnt / (iTotalPoints - 1);

        // GetPoint関数を使い、移動座標の計算(ベジェ曲線)
        vMovePoint = GetPoint(vStartPos,
                              gRelayObject1.transform.position,
                              gRelayObject2.transform.position,
                              gTarget.transform.position, fT);

        // オブジェクト移動
        this.transform.position = vMovePoint;

        // カウントが規定値になるまで加算
        if (iCnt <= iMiddlePoints * 2)
        {
            iCnt++;
        }
        else
        {
            CScore.AddFScore();
            Destroy(this.gameObject);
        }
    }