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

【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】UIが簡単に作れるGameStrap UIを購入してみた

こんばんは、pinbitです。 Unityでスマホゲームをを制作するとき、UIの素材がなくて困ったりすることってよくありますよね。UIの素材が一つになったアセットがあればゲーム制作が捗るとは思いませんか?! そんなアセットを見つけてしまいました! それがこちら Gamestrap UI is a Unity pack that helps you design User Interfaces by providing you with the resources and tools to make something professional in less time. Whether you are an indie developer, student, freelancer or a game studio, we believe Gamestrap UI can provide you with the right tools for the job.  和訳 Gamestrap UIはプロフェッショナルな何かを短い時間で制作するためのリソースやツールをあなたに提供することであなたがUIをデザインするのを手助けするUnityのパックです。個人製作者でも学生でもフリーランサーでもゲームスタジオに勤めている人でも、Gamestrap UIは仕事のための良いツールになると思います。 と書いてあります。 使い方は動画を参考にしてください。

【Unity】「GI output for input system」という警告の対処

Unity 5以降の話です。 「GI output for input system」という警告文と合わせて、エラーがいくつか出てきてストレスだったので対処法を調べてみました。 これをすると、自動でライトをベイクするのがオフになるのでいちいち自分でやらないといけません。 引用 Go to Window -> Lighting to open the Lighting Pane. On that, scroll all the way down and under "Other Settings", uncheck the "Auto" box. http://forum.unity3d.com/threads/new-warning-showing-up-gi-output-for-input-system.343118/ 訳 Window → Lighting → LightingウインドウのAutoのチェックを外す これでpinbitさん(俺)のエディタからエラーは消えました。