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); } }
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); } } }
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); } }