找回密码
 点一下
查看: 3587|回复: 14

利用code 可以调用后面

[复制链接]
发表于 2008-9-21 22:25:08 | 显示全部楼层 |阅读模式
set c1=function ss
这个加在别处

然后

call TimerStar(CreateTimer(),0.01,true,c1)

function ss takes nothing returns nothing
endfunction

这样可以调用后面....

调用速度比 ExecuteFunc 快多了  

估计原因是 code直接指向那函数 避免function 还要搜索前面。
发表于 2008-9-21 22:33:24 | 显示全部楼层
但是这样仍然有一个问题,就是执行的顺序

[codes=jass]function a takes nothing returns nothing
    call BJDebugMsg("2")
endfunction

function b takes nothing returns nothing
    call ExecuteFunc("a")
    call BJDebugMsg("1")
endfunction[/codes]
调用b的结果为
2
1

[codes=jass]function a takes nothing returns nothing
    call BJDebugMsg("2")
endfunction

function b takes nothing returns nothing
    call TimerStart(CreateTimer(), 0, false, function a)
    call BJDebugMsg("1")
endfunction[/codes]
这样的结果为
1
2
回复

使用道具 举报

 楼主| 发表于 2008-9-22 00:54:50 | 显示全部楼层
但比如选取单位组什么的里 就不会了
那样是要执行完 才能下一步

那些也可以用code
调用后面的函数
回复

使用道具 举报

发表于 2010-1-6 11:26:55 | 显示全部楼层
挖坟
用TriggerEvaluate或TriggerExecute比计时器好,没有执行顺序的问题,也不用在调用函数里面去删除计时器
回复

使用道具 举报

发表于 2010-1-7 09:33:28 | 显示全部楼层
用boolexpr比较好,无副作用

话说真的可以调用后面的函数?
回复

使用道具 举报

发表于 2010-1-7 09:38:48 | 显示全部楼层
据本人测试这个方法完全没有意义,所以不加分,此语法会报错
回复

使用道具 举报

 楼主| 发表于 2010-1-7 11:08:29 | 显示全部楼层
额..报错倒是不会...对于计时器单位组调用函数有用的....比如我的某个演示里就必须这样用...
回复

使用道具 举报

发表于 2010-1-8 17:07:05 | 显示全部楼层
1.20会对此表示报错
回复

使用道具 举报

发表于 2010-1-8 18:06:34 | 显示全部楼层
没错
WE1.20

WorldEditTestMap.w3x

17 KB, 下载次数: 4

回复

使用道具 举报

发表于 2010-1-8 18:09:40 | 显示全部楼层
code比filter好的是可以支持等待,利用TriggerWaitOnSleeps可以实现函数内调用一样的阻塞线程的效果
不过code不支持数组,所以有的时候不得不用filter
回复

使用道具 举报

发表于 2010-1-10 00:30:43 | 显示全部楼层
boolexpr code 变量都是用来存函数地址的
只是在SET里必须是要在函数声明的下面才行不然出错
SET后就不分先后了
回复

使用道具 举报

发表于 2010-1-10 14:17:23 | 显示全部楼层
DDDDDDDDDDDDDDDDDDDDDDDDDD
回复

使用道具 举报

发表于 2010-1-21 14:03:02 | 显示全部楼层
我的WE会报错。。。。
回复

使用道具 举报

 楼主| 发表于 2010-1-22 22:35:14 | 显示全部楼层
报啥错
回复

使用道具 举报

发表于 2010-1-31 20:06:27 | 显示全部楼层
没研究过..
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 18:25 , Processed in 0.093289 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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