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

疑问:关于给事件和动作传递参数的问题。

[复制链接]
发表于 2009-4-7 21:13:53 | 显示全部楼层 |阅读模式
在动态注册事件,如何给事件传递参数?
如call Jitui(TriggerUnit,TargetUnit)
TriggerUnit  :使用击退技能的单位。
TargetUnit :倒霉的家伙。
如何传递这两个参数?
Action 和 Condition 都是takes nothing reurns nothing
动作和条件都不传递参数
难道只有用全局变量么?(别说Return Bug+GameCache)
没有局部变量的方法么?
发表于 2009-4-8 15:07:12 | 显示全部楼层
文不对题,不知所云。
回复

使用道具 举报

发表于 2009-4-8 15:53:58 | 显示全部楼层
看了半天才理解LZ的意思……
原来LZ是想要把击退的动作都写在一个函数里面?
或者说,想写多个函数异步传递参数……
这很简单,LZ可以尝试TimerSystem
局限性大
但效率高于RetBug+GC,也高于HashFunc

具体的实现方法就是:
游戏开局,创建大量计时器,为每个计时器都编上号……然后……
因为连续创建的计时器句柄值也是连续的,所以很容易控制
接着就是分配使用这大量的计时器,干你想干的事情
回复

使用道具 举报

发表于 2009-4-9 13:08:39 | 显示全部楼层
除了全局就是缓存,局部变量无法在函数间传递.个别变量可以通过函数来获取,如GetTriggerXX()什么的.
TimerSystem在存储绑定的数据的时候不还是用的全局变量么...
回复

使用道具 举报

发表于 2009-4-11 09:40:35 | 显示全部楼层
他要的这个东西用Timer+全局可以轻松实现,无需注册动态触发器。

而且测试好像是“单位攻击时”动态注册的“单位受到伤害”触发器,如果单位是近战那么有一定几率会注册失败。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-21 23:00 , Processed in 0.043420 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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