何らかの理由でこれまでTime.deltaTimeやこれに類する機能を使用しないでください。 Unityと初心者のため
は、すべてのタイマーおよび時間に関連するすべての問題のために、ちょうど起動
あなたのコードは次のようになります...それは簡単なことだ
void Start()
{
Debug.Log("user begins task .. must complete in 60 seconds");
Invoke("TimeIsUpForUser", 60f);
}
private void TimeIsUpForUser()
{
Debug.Log("time's up! user must be finished by now");
}
を使用しています。
一例として、あなたの全体のコードは次のようになります。..
void Start()
{
ShowMiniPuzzleOnScreen();
Invoke("TimeIsUpForUser", 60f);
}
private void UserHasPlacedFinalPieceOfPuzzle()
{
MessageScreen("Congratulations! You get 100 coins!");
balance += 100;
CancelInvoke("TimeIsUpForUser");
}
private void TimeIsUpForUser()
{
HideMiniPuzzle();
PlaySadMusic();
MessageScreen("You suck! You are too slow. You lose 50 points.");
balance -= 50;
}
修正何を?あなたは文書から何かをコピー/ペーストし、要件を述べますが、質問をすることができず、あなたのためにプログラムを書くと思うようです。 – TomTom
タスク時間に何が起こるはずですか?スクリプトを実行する必要がある場合は、開始時刻を保存して、時刻が経過したかどうかを確認してください。 – Adi
私はあなたがドキュメントを誤解していると思います。 'Time.deltaTime'はゲームのフレームレートを独立させるためのものです。何フレームで実行していても同じ時間がかかります。例えば。 60 fpsで1分のタスクでは3600フレーム、30 fpsでは1800フレームが必要ですが、正確には1分です。 –