Gunakan API Perpaduan dari benang lain atau fungsi panggilan di benang utama
penyelesaian
Panggil perpaduan APImelaksanakan langkah -langkah berikut:
Buat statikyang dipanggil
untuk menyimpan operasi yang perlu dilakukan di benang utama.actionQueuesUpdateFunc
) dan lakukan operasi ini. List<Action>
actionQueuesUpdateFunc
actionCopiedQueueUpdateFunc
noActionQueueToExecuteUpdateFunc
Update
fungsi untuk memanggil fungsi dari benang yang berasingan: atau, lulus fungsi sebagai parameter:
Perbadanan operasi di thread utama
<code class="language-csharp">UnityThread.executeInUpdate(() => { // 在主线程中执行的代码 });</code>
cara menggunakan
<code class="language-csharp">Action rot = Rotate; UnityThread.executeInUpdate(rot); void Rotate() { // 函数代码 }</code>
Inisialisasi dalam :
<code class="language-csharp">UnityThread.executeCoroutine(myCoroutine()); IEnumerator myCoroutine() { // 协程代码 }</code>
Awake()
melakukan dalam : UnityThread
<code class="language-csharp">UnityThread.initUnityThread();</code>
Update
<code class="language-csharp">UnityThread.executeInUpdate(() => { // Update 代码 });</code>
Update
<code class="language-csharp">Action rot = Rotate; UnityThread.executeInUpdate(rot); void Rotate() { // 方法代码 }</code>
LateUpdate
Penerangan Tambahan
<code class="language-csharp">UnityThread.executeInLateUpdate(() => { // LateUpdate 代码 });</code>
FixedUpdate
Penyelesaian ini menggunakan satu <code class="language-csharp">UnityThread.executeInFixedUpdate(() => { // FixedUpdate 代码 });</code>
Atas ialah kandungan terperinci Bagaimana cara memanggil fungsi API Perpaduan dengan selamat dari benang bukan main?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!