找回密码
 点一下
查看: 1857|回复: 0

动态注册事件中的临时注册和永久注册问题....

[复制链接]
发表于 2011-4-21 15:14:47 | 显示全部楼层 |阅读模式
很抱歉.动态注册事件...我发帖提问已经不是1,2次..但是不是计算机专业的说...很多东西无法理解.
希望高手 能指点一下.
所说动态注册事件 如果 是永久注册 的话.可以不用销毁 事件和动作.
如果是临时注册的话.就要销毁.然后我就在这个上面 晕了.
什么算是永久注册...什么时候才算是临时注册呢?[s:186]

拿下面这段J来说一下吧....我发现如果我加入销毁事件和动作的语句的话...这个事件是不会反复生效的.
如果不做删除的话.可以反复生效....
我就在这里想不明白了.什么条件下 注册事件 需要清除.什么条件下注册事件不需要清除?
希望高手能够指点一下.....在这方面相当愚钝...希望能够见谅...
[jass]function ddddddd takes nothing returns nothing
    call SetUnitAnimationByIndex( gg_unit_Edem_0000, udg_N+1 )
    call DisplayTimedTextToPlayer( Player(0), 0, 0, 30, "123" )
endfunction
function db takes nothing returns nothing
    call SetUnitAnimationByIndex( gg_unit_Edem_0000, udg_N+1 )
endfunction
function InitTrig____________________001 takes nothing returns nothing
    local trigger t1
    local trigger t2
    local triggeraction b
    local triggeraction c
    set t1 = CreateTrigger()
    call TriggerRegisterPlayerKeyEventBJ( t1, Player(0), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_LEFT )
    set b = TriggerAddAction(t1, function ddddddd)
    call DestroyTrigger(t1)//触发器用这个函数销毁
    call TriggerRemoveAction(t1,b)
    set t1 =null
    set t2 = CreateTrigger()
    call TriggerRegisterPlayerKeyEventBJ( t2, Player(0), bj_KEYEVENTTYPE_DEPRESS, bj_KEYEVENTKEY_RIGHT )
    set c = TriggerAddAction(t2, function db)
    call DestroyTrigger(t2)//触发器用这个函数销毁
    call TriggerRemoveAction(t2,c)
    set t2=null
endfunction


[/jass]
您需要登录后才可以回帖 登录 | 点一下

本版积分规则

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

GMT+8, 2024-11-21 23:17 , Processed in 0.071791 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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