Lösung
auf Implementieren Sie die folgenden Schritte:
Erstellen Sie eine statische
namensactionQueuesUpdateFunc
kopieren Sie in die lokale Liste (List<Action>
) und führen Sie diese Vorgänge aus. actionQueuesUpdateFunc
), um anzugeben, wann die Funktion ausgeführt wird, wenn die Funktion betrieben wird. actionCopiedQueueUpdateFunc
noActionQueueToExecuteUpdateFunc
Update
auf
oder übergeben Sie die Funktion als Parameter:
Betriebskonporation im Haupt -Thread
UnityThread.executeInUpdate(() => { // 在主线程中执行的代码 });
für die Coroutine: <对于>
Action rot = Rotate; UnityThread.executeInUpdate(rot); void Rotate() { // 函数代码 }
Initialisieren in <初> :
UnityThread.executeCoroutine(myCoroutine()); IEnumerator myCoroutine() { // 协程代码 }
Awake()
UnityThread
in <执>: UnityThread.initUnityThread();
Update
aus
UnityThread.executeInUpdate(() => { // Update 代码 });
Update
Action rot = Rotate; UnityThread.executeInUpdate(rot); void Rotate() { // 方法代码 }
LateUpdate
UnityThread.executeInLateUpdate(() => { // LateUpdate 代码 });
FixedUpdate
UnityThread.executeInFixedUpdate(() => { // FixedUpdate 代码 });
Das obige ist der detaillierte Inhalt vonWie kann ich die API-Funktionen von Unity-Funktionen aus Nicht-Main-Threads sicher aufrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!