找回密码
 点一下
查看: 970|回复: 5

全局变量可以用于注册单位事件吗?

[复制链接]
发表于 2010-5-22 20:44:46 | 显示全部楼层 |阅读模式
我用哈希表储存的一个全局计时器变量time,把单位绑定在time上面,然后用这个全局计时器变量绑定的单位去注册单位事件,发现,触发没有被触发,而我随便用一个触发,在动作对这个单位做动作却是可以的,这就证明time这个计时器的确储存了这个unit,那为啥注册的时候就不可以呢?如果这样注册可以的话对相比群注册应该会好的吧。。。
发表于 2010-5-22 20:46:42 | 显示全部楼层
注册时只是变量当前值,再怎么变化都不会有效果

----------- 帖子于 20:46 更新 --------- 之前内容发布于 20:45 ------------

很多问题可以通过自己测试来得到答案的

请把之前几个已解决的问题的分类改掉,具体请见版规,谢谢
回复

使用道具 举报

 楼主| 发表于 2010-5-22 21:22:28 | 显示全部楼层
不是没测试过,是注册不鸟才来求助的,你说变量只是当前值,但是当前值就是一个单位,怎么就不能注册了呢?
回复

使用道具 举报

发表于 2010-5-22 21:25:08 | 显示全部楼层
你是在触发事件直接写的么?这样的话事件都是在初始化时注册的,这时变量都是null
回复

使用道具 举报

 楼主| 发表于 2010-5-22 21:46:34 | 显示全部楼层
触发一
任意单位释放技能效果
运行函数f1
f1的功能是用哈希表把技能释放目标绑定在编辑器预先设定好的一个全局计时器变量time上面。
所以只要任何单位对任何单位释放技能,那么目标单位就会绑定在全局计时器变量time上,而且f1函数里面并没有删除哈希表里面储存的任何东西。然后
触发二
事件是 单位受到伤害,我用的那个单位自然就是LoadUnitHandle(XXXX)就是触发一里面的那个单位了,然后这个触发是没有被触发的。
那就是LoadUnitHandle()没有把触发一绑定的单位传递上来是吧!
于是我就检测一下
写了
触发三
时间 流失的时间是10秒 (当然在10秒前我释放了一个技能激活触发一)
杀死单位LoadUnitHandle(XXX)
到了10秒
绑定的单位(就是那个技能释放单位)
死了
这又说明LoadUnitHandle(XX)却是是储存了那个单位,
那是为啥呢?
回复

使用道具 举报

发表于 2010-5-23 05:51:36 | 显示全部楼层
我承认我看不懂
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-2 21:15 , Processed in 0.036840 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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