2017-02-16 6 views
0

私のゲーム(unity3d)の24時間の報酬のロックを作成したい 私は24時間後にユーザーに報酬を与えたい私は結束でそれを行うだろう別の24時間ロックされる?私のゲーム(unity3d)の24時間の報酬のロックを作成したい

+0

ロック解除トリガーするたびif (unlockedDate < DateTime.Now)を確認してください。 オフラインゲームの場合は、タイマーを開始し、ゲームが終了したら、タイマー(d、h、m、s)に関する情報をファイルに保存して、ゲームが再び開いたときにあなたはタイマーのデータを読んで、どこに残っているかを確認し続けます。 オンラインゲームのもう1つの選択肢は、ゲームをクライアントで実行していなくても、タイマーを追跡するためにサーバを使用することです。 詳しい情報を提供するために、あなたがしようとしていることについてさらに詳しい情報が必要です。 – Agustin0987

+0

オフラインのゲーム...プレイヤーがビデオを見ると、犬は24時間ロックが解除され、24時間後にロックされます....... –

答えて

0

プレイヤーが最初にオブジェクトを「を使用」するときは、オブジェクトと現在の時間を節約することができます。

PlayerPrefs.SetString('<objectnametimer>', DateTime.Now.AddHours(25).ToString()); 

これは、あなたができる、新しい日時を保存するので、毎回アップゲームが起動しますこのようなことを確認してください。

void Start() { 
    var unlockDate = DateTime.Parse(PlayerPrefs.GetString('<objectnametimer>')); 
    if(unlockDate < DateTime.Now) { 
     //object unlocked again 
    } 
    else { 
     //object still locked, how long you ask?: 
     TimeSpan diff = unlockDate.Subtract(DateTime.Now); 
     Debug.Log("object locked for " + diff.Minutes + " more minutes"); 
    } 
} 

私は、コンパイルエラーをチェックしませんでした(私は自分の携帯電話によ)しかし、これは私には有望に見える:)

PSを:あなたは、カウントダウンを作成したい場合、ちょうどk EEPは他のコードを反復して説明here

EDITのように差分を使用して、素敵な形式に変換:繰り返し処理を行う場合、calculatiosnごとに1秒間yield return new WaitForSeconds(1)coroutinesを使用しています。また、ゲームは、オンラインまたはオフラインのゲームであるかどうかに応じて:)

ハッピーコーディング

+0

thanks #Nick Peelman ... –

関連する問題