スキップしてメイン コンテンツに移動

【Unity】ログインボーナスを作ってみる

こんにちは。ピンビットです。
心理的なテクニックとして良さそうなログインボーナスをUnityで作ってみました。


まず、ざっくり書いたコードを貼ります。(このままでは使えないので自分で修正してね♡)


public int intervalHour = 15;//何時間ごとに貰えるか。

void Start () {
 if (PlayerPrefs.GetString ("lastGiftTime") == "") {
  PlayerPrefs.SetString ("lastGiftTime", System.DateTime.Now.ToBinary().ToString() );
 }

 System.DateTime now = System.DateTime.Now;
 System.DateTime lastGiftTime = System.DateTime.FromBinary (System.Convert.ToInt64 ( PlayerPrefs.GetString("lastGiftTime") ));


 if ( System.DateTime.Compare (now, lastGiftTime.AddHours (intervalHour)) > 0) {
  //ギフト貰えるを
  PlayerPrefs.SetString ("lastGiftTime", System.DateTime.Now.ToBinary().ToString() );

  //
  //貰えるときのコード
  //
 }

 if ( System.DateTime.Compare (now, lastGiftTime.AddHours (intervalHour)) < 0) {
  //ギフト貰えないなり
  System.TimeSpan remainDateTime = lastGiftTime.AddHours (intervalHour).Subtract (now);

  //
  //貰えないときのコード
  //
 }
}

せつめい

public int intervalHour;
は、何時間ごとにギフトが貰えるかです。


PlayerPrefs.GetString ("lastGiftTime")
これは最後にギフトをもらった時間を記録しています。

if (PlayerPrefs.GetString ("lastGiftTime") == "") {
 PlayerPrefs.SetString ("lastGiftTime", System.DateTime.Now.ToBinary().ToString() );
}
ここでは、最後にギフトをもらった時間が存在しないとき、すなわちPlayerPrefs.GetString("lastGiftTime")が空のときに現在の時間を最後にギフトを貰った時間としてセットしています。


System.DateTime.Compare (now, lastGiftTime.AddHours (intervalHour))
これは、現在の時間と、最後にギフトを貰った時間にintervalHourを加算した値を比較して、現在の時間のほうが進んでいるなら0より上を返し、違うなら0以下になり、同じなら0です。



さいごに

おれは使えてるので、質問があるならツイッターの@pin_pinbitまでオナシャス!
あと、変数名とか、用語間違いとか、説明が変とかアドバイスとかも嬉しいです。

このブログの人気の投稿

モトローラ製スマートフォンのBootloaderをアンロックする方法

ブートローダのロックを解除して、カスタムリカバリー TWRPをインストールすることで、ルートアクセスを取得したり、CyanogenMod、Paranoid AndroidなどのカスタムROMをインストールすることができます。  モトローラのスマホは、米国内でVerizonやAT&Tで発売されているようなロックされているものを除き、ほとんどすべてのデバイスでブートローダのロックを解除することができます。  ただし、Motorolaデバイスでブートローダーのロックを解除するのは、Nexusデバイスの場合ほど簡単ではありません。 モトローラの提供する長いプロセスに従ってブートローダのロックを解除する必要があります。これにより、デバイス上でブートローダのロックを解除すると保証状態が失われます。

【Unity】柔らかいオブジェクトが作れる「Jelly Mesh」を購入してみた

こんにちは。ピンビットです。 このページでは「Jelly Mesh」の使い方を紹介します。

【Unity】Skybox(背景)を変更する方法

デフォルトのスカイボックスは見飽きませんか? 今回は、これを変更する方法を紹介します。