Invokeについて


Invokeを使うと指定秒後に指定のメソッドが実行できて便利。
でも引数が文字列なので、それが嫌な場合は
[unitycsharp]
((Action)MethodName).Method.Name
[/unitycsharp]
で取得できる。
しかもInvokeはそのGameObjectが破棄されると自動で呼び出しも終わる。
簡易的に遅延させたい場合は便利。

参考)
いんでぃーづ | Invoke , Coroutine , SendMessage で文字列を使わない方法
Qiita | 【Unity】スクリプトの処理の実行タイミングを操作する

[unitycsharp]
using UnityEngine;
using System;

/// <summary>
/// Invokeのテスト。
/// </summary>
public class InvokeTest : MonoBehaviour {
/// <summary>
/// Start.
/// </summary>
void Start() {
this.InvokeMethod();
}

/// <summary>
/// Invokeテスト。
/// </summary>
void InvokeMethod() {
print("InvokeMethod called.");
Invoke(((Action)this.InvokeMethod).Method.Name, 3f);
}
}
[/unitycsharp]

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です