找回密码
 点一下
查看: 2341|回复: 4

关于触发器的清空问题 (已解决)

[复制链接]
发表于 2006-4-23 22:33:43 | 显示全部楼层 |阅读模式
[jass]function h2i takes handle h returns integer
    return h
    return 0
endfunction

function onditions takes nothing returns boolean
return true
endfunction

function OnUnitAmort takes nothing returns nothing
endfunction

function RegisterUnitAmortEvent takes unit witchUnit returns nothing

local trigger trg = CreateTrigger()
local triggeraction act = TriggerAddAction( trg, function OnUnitAmort )
local triggercondition con = TriggerAddCondition( trg, Condition( function onditions ) )
call TriggerRegisterUnitLifeEvent( trg , witchUnit, LESS_THAN_OR_EQUAL, 50 )  

call DisplayTextToPlayer(Player(0),0,0,I2S(h2i(trg)))
call DisplayTextToPlayer(Player(0),0,0,I2S(h2i(act)))
call DisplayTextToPlayer(Player(0),0,0,I2S(h2i(con)))

call DestroyTrigger(trg)
set trg=null
call TriggerRemoveAction(trg,act)
set act = null
call TriggerRemoveCondition(trg,con)
set con = null

call DisplayTextToPlayer(Player(0),0,0,I2S(h2i(trg)))
call DisplayTextToPlayer(Player(0),0,0,I2S(h2i(act)))
call DisplayTextToPlayer(Player(0),0,0,I2S(h2i(con)))
endfunction[/jass]


对于这么一段函数,
call TriggerRemoveAction(trg,act)
set act = null
无论这一段是否运行,其显示的act都是以2来增长的
而con如果不set null的话,就要多占一个内存位置


我在置疑,触发动作是否真的需要清空?

[ 本帖最后由 zyl910 于 2006-4-24 00:58 编辑 ]
发表于 2006-4-23 22:40:53 | 显示全部楼层
注意看你的语句顺序
先把触发器给删除了
自然后面的释放代码无效

PS: 条件没释放:Condition( function onditions)
回复

使用道具 举报

 楼主| 发表于 2006-4-23 23:34:13 | 显示全部楼层
哎~ 原来素犯了低级错误~~
回复

使用道具 举报

发表于 2006-4-24 01:05:32 | 显示全部楼层
已修改标题,以后请按照Jass区版规发帖子:
http://bbs.ourga.com/thread-947-1-1.html
Jass区导航贴
回复

使用道具 举报

发表于 2006-4-24 01:36:03 | 显示全部楼层
原帖由 Red_Wolf 于 2006-4-23 22:33 发表
// [弧度]取得向量的角度
function VectorGetAngle takes location rhs returns real
    return Atan2(GetLocationY(rhs), GetLocationX(rhs))
endfunction


刚才发现这里最好加个return bj_RADTODEG * Atan2(GetLocationY(rhs), GetLocationX(rhs))
因为Atan2返回的是弧度制的 而we基本用到的都是角度 所以转化一下..

晕 怎么发到这个帖子里来了:L
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-5-2 12:11 , Processed in 0.065624 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表