找回密码
 点一下
楼主: 醉卧枫林

在线等原因..两个触发器相冲突

[复制链接]
发表于 2008-2-21 22:05:49 | 显示全部楼层
恩,说明一下,前面发得太快没有测试,要把那个暂停单位去掉

已经更新了
回复

使用道具 举报

 楼主| 发表于 2008-2-21 22:08:28 | 显示全部楼层

有个问题不太懂

你这里的 如果所有条件成立则做动作一否则做动作2
那么动作一是那个 动作二又是哪个呢
还哟条件里面怎么又有个条件 我迷糊了

下面怎么还有个自定义代码?
yidong.gif
回复

使用道具 举报

发表于 2008-2-21 22:13:15 | 显示全部楼层
恩,那个自定义代码是因为那个时候不想用到UI函数,现在又更新改掉了

if里动作2时至else下面的东西,这里是什么都不作
if条件下的我用的是or条件,就是下面的两个条件满足一个就可以
回复

使用道具 举报

 楼主| 发表于 2008-2-21 22:26:32 | 显示全部楼层

位子..

location 和astlocation  是同一个类型单位的同一个位子啊
回复

使用道具 举报

 楼主| 发表于 2008-2-21 22:27:46 | 显示全部楼层

Re:位子..

为什么要设置两个位子呢 lastlocation  和 location 不是一个位子点吗?
location是新创造的骑士的点? lastlocation是骑士的点?  这不都是一样的吗 WE允许这样设置?允许同一个位子可以设置两个变量?
另外 if 下的or条件的任意一个条件成立是指 if下的两个条件 还是指if的第2个条件(X Y轴的那个)[/quote]
如果if的所有条件成立否则做第2个动作 改成 如果1个条件成立否则做第2个动作可以吗
回复

使用道具 举报

发表于 2008-2-21 22:32:01 | 显示全部楼层
Or条件指的是if下面那个任一条件成立,效果是它里面的任何一个条件为真就为真

设置点着两个变量并不一样
lastlocation记录的是上一次执行时骑士的位置,location记录的是骑士现在的位置
如果这两个点的x坐标和y坐标都相同,说明骑士位置没变,也就是骑士没有移动
所以通过判断这两个点的x坐标和y坐标中只要有一个不同,就说明位置变化了
回复

使用道具 举报

 楼主| 发表于 2008-2-21 22:37:48 | 显示全部楼层

lastlocation

所以lastlocation你在地图初始化里就设置好了
而location是临时设置的..我大概有点明白了

条件的那个问题..既然 if设置了两个条件 那么 if的第一个条件为什么设置 任意一个条件成立?
这样直接设置成 如果1个条件成立就做动作1否则做动作2不是省一步吗?
是不是WE没有 如果1个条件成立就做动作1否则做动作2 这样的设置呢
回复

使用道具 举报

发表于 2008-2-21 22:40:00 | 显示全部楼层
这个是因为两个条件只要达成一个就执行
而直接用if条件下加两个条件的话,需要两个都达成才行,就不满足需要了
回复

使用道具 举报

 楼主| 发表于 2008-2-21 22:43:59 | 显示全部楼层

那么.

那么在最后你怎么设置lastlocation=location 呢 这又是为什么啊
回复

使用道具 举报

 楼主| 发表于 2008-2-21 22:45:14 | 显示全部楼层
引用第27楼zhuzeitou于2008-02-21 22:40发表的  :
这个是因为两个条件只要达成一个就执行
而直接用if条件下加两个条件的话,需要两个都达成才行,就不满足需要了
这个我知道啊..我是说 你直接设置"一个"条件满足就做动作1没满足就做动作2
没必要设置"所有"两个字啊
设置成"所有"你还得加个"任意条件满足"进去
回复

使用道具 举报

发表于 2008-2-21 22:45:17 | 显示全部楼层
就是把lastlocation设置成现在的位置,因为到下一次判断是,现在的位置就是到时候的前一个位置(很绕)
回复

使用道具 举报

 楼主| 发表于 2008-2-21 22:48:42 | 显示全部楼层

迷糊...

"现在的位置就是到时候的前一个位置"这句不太理解..能说的详细点吗.
你告诉我如果不设置这个 会有什么样的结果呢
回复

使用道具 举报

发表于 2008-2-21 22:52:19 | 显示全部楼层
这个,我的表达能力可能不是很好

比如说0.1秒的骑士位置是A,现在的位置是B,我们是通过判断A和B的x、y坐标是否相同来判断A和B是否为同一位置的
那么假设0.1秒之后,骑士的位置是C点,此时我们就要判断B与C的坐标了
回复

使用道具 举报

 楼主| 发表于 2008-2-21 23:01:50 | 显示全部楼层

我大概懂了..

大概是 不这样设置的话 骑士停止的时候也会有火焰..我去掉最后个看下会怎么样
回复

使用道具 举报

发表于 2008-2-21 23:02:52 | 显示全部楼层
的确是这样,恩~~
lz加油吧~~
回复

使用道具 举报

 楼主| 发表于 2008-2-21 23:11:19 | 显示全部楼层

晕不对

我删了后 只出现一个火焰 就再不出了..
另外又出了个新问题..我再设置你那个 位子=位子的时候 是加进Else这个动作里..加不外外面去..怎么加到外面去呢..我把你的自定义代码那个 和暂停单位那个都删了..

加到ELSE 动作里就不对了吧  那就不是什么都不做了 是做位子=位子的动作
回复

使用道具 举报

发表于 2008-2-21 23:14:07 | 显示全部楼层
在外面是不管满不满足都做,直接拖到外面来就好了
回复

使用道具 举报

 楼主| 发表于 2008-2-21 23:19:50 | 显示全部楼层

恩..

为什么删了这个位子=位子之后 就只放一个火焰呢?
还有 最后那个触发器是不是可以删掉? 就是 单位火焰死亡后等3秒删了火焰的那个..
回复

使用道具 举报

发表于 2008-2-21 23:21:08 | 显示全部楼层
这个触发不加也没什么的,个人习惯而已
回复

使用道具 举报

 楼主| 发表于 2008-2-21 23:30:30 | 显示全部楼层

关键是..

为什么删了这个位子=位子之后 就只放一个火焰呢?
 X轴=X轴 Y轴=Y轴 这个条件可以理解成"单位移动"
位子=位子 可以理解成"单位停止"
那么..为什么 不设置"单位停止" 触发器就不执行 创建火焰的动作了呢
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-3 07:57 , Processed in 0.118226 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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