unity api
と呼ばれる静的
を作成して、メインスレッドで実行する必要がある操作を保存します。actionQueuesUpdateFunc
をローカルリスト(List<Action>
)にコピーし、これらの操作を実行します。 actionQueuesUpdateFunc
actionCopiedQueueUpdateFunc
noActionQueueToExecuteUpdateFunc
Update
または、パラメーターとして関数を渡します:メインスレッドの の使用方法
初期化
:UnityThread.executeInUpdate(() => { // 在主线程中执行的代码 });
Action rot = Rotate; UnityThread.executeInUpdate(rot); void Rotate() { // 函数代码 }
<执>:でコードを実行します
<执>:
UnityThread.executeCoroutine(myCoroutine()); IEnumerator myCoroutine() { // 协程代码 }
Awake()
でコードを実行します
UnityThread
UnityThread.initUnityThread();
Update
UnityThread.executeInUpdate(() => { // Update 代码 });
Update
追加の説明<附>
Action rot = Rotate; UnityThread.executeInUpdate(rot); void Rotate() { // 方法代码 }
LateUpdate
このソリューションは、すべてのスクリプトに対して単一のUnityThread.executeInLateUpdate(() => { // LateUpdate 代码 });
以上が非メインスレッドからUnity API関数を安全に呼び出す方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。