週刊SleepNel新聞

SleepNel所属のぽうひろが日々の個人開発で気になったことを綴ります。

これでWaitForSecondsともオサラバ!Unity timers(UT)アセット使用レポート

みなさん、こんにちは。ぽうひろです。

本日は便利なUnityScriptアセットを見つけましたので、ご紹介いたします。
(Photonレポートの続きを楽しみにしてくださっているみなさん申し訳ありません!!少し時間がかかりますので、もう少々お待ちください。。。!!)

Unityでゲームを作っていると、「この表示をした後、3秒たったらこの処理をさせたい」という状況によく出くわしますよね?

出くわしますよね?

はい、で、めんどくさいのでStartCoroutineでWaitForSecondsとかやるわけですけれども、何かうまく動かなかったりしますよね?

しますよね?

はい、で、るーちゃんのとけいがまさしくこんな状態で、アップデートをしようと思ったのですが、何だかわけのわからん状態でヽ(`Д´#)ノ ムキー!!となってしまったわけです。

(せっかくなので宣伝)

luclock.strikingly.com


きっと、世界中の頭のいい人がいいアセットを作っているに違いない・・!!
と思いアセットストアを探しました。

そしたらありましたよ!いいアセットが!

その名もUnity timers(UT)!!

https://www.assetstore.unity3d.com/jp/#!/content/33608
価格も何と0.99$という99円セールのようなお得感!!

f:id:pouhiroshi:20160527114921p:plain

導入はかんたん、プロジェクトにインポートすればすぐ使えます!

使い方のイメージですが、以下をご覧ください。
あ、 using EJaw.UnityTimers;
を使うクラスで最初に定義してくださいね。

Timer timer = new Timer ();
float totalTime = 5f; //5秒タイマー

float stepTime = 0.5f; //0.5秒単位でElapsedが呼ばれる
timer.Start (totalTime, stepTime); //Timer開始
timer.Elapsed += delegate(float timeLeft) { //stepTimeごとに呼ばれる処理を書く
    Debug.Log("残り時間:" + timeLeft.ToString());
};
timer.Finished += delegate() { //タイマーが完了したら呼ばれる処理を書く
};


このようにものすごく直感的に書くことができます!


是非お試しください!!!