li541146862 发表于 2014-9-3 17:36:13

我有个疑问(chyj4747:全局变量是不是不能重复使用?)

本帖最后由 chyj4747 于 2014-9-3 21:49 编辑

我有个疑问,是不是全局变量不能被重复使用,比如触发1里面使用了A变量,然后触发2里面也使用了A变量,就冲突了?

2308474116 发表于 2014-9-3 21:07:10

最简单的方法试试就知道

chyj4747 发表于 2014-9-3 21:55:07

本帖最后由 chyj4747 于 2014-9-3 21:59 编辑

LZ你这标题别人怎么看啊。。

全局变量在不同的触发里是可以重复使用的,冲突是在某些情况下会产生,比如触发1里设置了变量A,然后做其它动作,然后再使用A,如果其它动作里触发了(不一定是运行触发器那个动作)其它触发器,而其它触发器里改变了变量A,那么触发1里使用A的时候A的值就会不正确,这种才是变量冲突;还有种情况是设置变量和使用变量之间有明确的时间差,比如等待或者计时器,这时别的触发器在时间差内运行的话也有可能会造成变量冲突
魔兽除了AI都是单线程的,所以不用担心两个毫无关系且没时间差的触发器会穿插运行

如果LZ现在还没有能力判断冲突的情况的话,那就不同的触发里用不同的全局变量吧

allennai 发表于 2014-9-4 03:39:00

蛋糕是全局变量。

你吃一口蛋糕获得1块钱。
你弟弟也吃一口蛋糕也获得1块钱。

那么,你们两个同时都吃了,蛋糕自然就被咬了两口。
这就是冲突。

li541146862 发表于 2014-9-4 19:24:46

chyj4747 发表于 2014-9-3 21:55
LZ你这标题别人怎么看啊。。

全局变量在不同的触发里是可以重复使用的,冲突是在某些情况下会产生,比如 ...

   啊,明白了,那如果用局部变量的话是不是就完全不会发生冲突呢

allennai 发表于 2014-9-4 19:38:09

li541146862 发表于 2014-9-4 19:24
啊,明白了,那如果用局部变量的话是不是就完全不会发生冲突呢

应该是吧,对于局部变量和全局变量的定义我经常搞混淆

ckpig 发表于 2014-9-5 09:24:31

自己回避冲突就行
页: [1]
查看完整版本: 我有个疑问(chyj4747:全局变量是不是不能重复使用?)