如何改善記憶體漏失?
之前看許多人的寫法,一般都是在點或群組使用之後再刪點。
我改成在每次使用點或群組之前刪點或群組,這樣寫對改善記憶體漏失有幫助嗎?
自訂腳本:call RemoveLocation(udg_Temp_Point)
設定 Temp_Point = (Temp_Unit 之位置)
自訂腳本:call DestroyGroup(udg_Temp_group)
設定 Temp_group = (半徑 600.00 於Temp_Point 內之部隊,比對條件:(比對部隊為存
活) 等於 真)
==============================================
另外之前我看到新增event也會增加記憶體負擔,只能將整個觸發砍了才會刪掉事件。
那麼我這樣寫可以改善嗎?
--------//使用觸發陣列變數來增加只執行一次的事件。
設定 TempTigger[T_ID] = TempTiggerS
觸發 - 於(TempTigger[T_ID])增加事件:(部隊 - (最後創造的部隊) 死亡)
設定 T_ID = T_ID + 1
-------//並在該觸發的開頭加上call DestroyTrigger(GetTriggeringTrigger())
觸發 TempTiggerS
事件
條件
動作
自訂腳本:call DestroyTrigger(GetTriggeringTrigger())
---------------------
這樣寫的話有用嗎? 另外,這樣的話,在該觸發被執行後,因為
call DestroyTrigger(GetTriggeringTrigger())而被刪掉的
觸發變數TempTigger[T_ID]那個值是變為空(null)嗎?有沒有辦法判斷?
另外一個問題,有沒有辦法取得觸發變數陣列在執行時的索引值?
舉例來說,我希望觸發TempTigger[5]在執行的時候能抓到它的索引值也就是5,
然後指定給TempTiggerEmpty[5] = true
這樣就可以用迴圈來跑看那一個索引位置已經被執行過也被移除空了出來以便重新指定
新的觸發與事件。
另外,解答這個問題在解決不同的玩家在執行事件-遊戲時間經過或事件-計時器歸零
時抓取玩家編號也有作用。
例如:玩家3的英雄死亡後,開啟記時器3的倒數,
並增加事件-記時器3時間歸零 到 觸發 玩家復活[3]
這樣就可以玩家復活那個觸發中根據抓到的陣列索引值來復活相應玩家的英雄了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.127.92.170
→
03/07 14:51, , 1F
03/07 14:51, 1F
推
03/07 15:13, , 2F
03/07 15:13, 2F
→
03/07 16:30, , 3F
03/07 16:30, 3F
推
03/07 17:06, , 4F
03/07 17:06, 4F
推
03/07 17:13, , 5F
03/07 17:13, 5F
推
03/07 17:15, , 6F
03/07 17:15, 6F
推
03/07 21:40, , 7F
03/07 21:40, 7F
→
03/07 21:40, , 8F
03/07 21:40, 8F
推
03/07 21:58, , 9F
03/07 21:58, 9F
Ctrl+B,新建一個變數Timer,並設定為計時器、陣列打勾、大小設定為8(玩家數量)
之後要用的話,就用
開始計時器Timer[PlayerID],單次,N秒。
事件增加-觸發XXX,增加事件計時器Timer[PlayerID]歸零
,這樣應該就可以了。
問題就在於那個觸發XXX在事件發生時,怎樣才能抓到PlayerID,也就是當時發生事件
計時器歸零的陣列索引。這個還是沒人解答呀 囧
※ 編輯: vinxu 來自: 59.127.92.170 (03/07 22:13)
推
03/07 23:10, , 10F
03/07 23:10, 10F
→
03/07 23:17, , 11F
03/07 23:17, 11F
推
03/08 07:36, , 12F
03/08 07:36, 12F
→
03/08 07:38, , 13F
03/08 07:38, 13F
→
03/08 07:39, , 14F
03/08 07:39, 14F
→
03/09 05:02, , 15F
03/09 05:02, 15F
WarCraft 近期熱門文章
PTT遊戲區 即時熱門文章