Invokeを使用して、n秒後に関数を呼び出せるスクリプトを作ってみましょう。
Cubeをクリックすれば非表示になり、2秒後に表示される仕組みを作ります。
関連記事:
数秒後にオブジェクトを出現させる
コルーチンを使って1秒後にテキストを消す
触れた相手をn秒後に削除する
乗ったオブジェクトをn秒後に消す
出現してから1秒後に落下する
エフェクト発生の後にテキスト表示
Invokeで2秒後に関数を呼び出し
Cubeを作成します。
CubeClick.csを作成し、Cubeに追加します。
CubeClick.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeClick : MonoBehaviour { void OnMouseDown() { this.gameObject.SetActive(false); Invoke("CubeActive", 2.0f); } void CubeActive() { this.gameObject.SetActive(true); } } |
ゲームプレイして、Cubeをクリックしてみましょう。
非表示になってから、2秒後にCubeActive()が実行され、再び表示されます。
Invoke("実行する関数名", 秒数);
このように、Invoke関数では、「実行する関数名」と、「秒数」の設定を行います。
関連記事:
数秒後にオブジェクトを出現させる
コルーチンを使って1秒後にテキストを消す
触れた相手をn秒後に削除する
乗ったオブジェクトをn秒後に消す
出現してから1秒後に落下する
エフェクト発生の後にテキスト表示