一个英雄死了
设置局部变量unit u = 触发单位
另一个英雄使用了暴风雪技能
这个时候不能复活刚才死掉的英雄,因为不能获得死英雄的那个触发中的所有数据,因为它们没有用全局变量记录
1。 在T里使用自定义代码可申明局部变量,例如申明一个名为 hero 的单位类型的局部变量。并设置它为触发单位:
local unit hero = GetTriggerUnit()
当然你可以这样写:
local unit hero
set hero = GetTriggerUnit()
是一回事,只不过第一种写法是在申明的同时赋值了
2。 局部变量因为不能在全局中使用,是用一次就不会被用到第二次的东西,所以需要每次用完后清干净。比如刚才的触发单位,在用完后,触发器的最后一句要加上:
set hero = null
当然有些懒人不写这一步,一个单位才泄露7个字节,如果数量不多不影响什么。
但,局部变量的点,单位组之类的一定要清掉,否则地图会很卡,比如申明一个点,并设置它为技能施放点:
local location Loc=GetSpellTargetLoc()
然后使用完了清除:
call RemoveLocation( Loc )
set Loc = null
如果你懒,可以不set null,但你再懒,也需要移除它,否则它将会在你结束游戏之前一直占用你的内存,直到物理内存占完。