找回密码
 点一下
查看: 1070|回复: 2

关于Union Bug的问题

[复制链接]
发表于 2008-3-5 21:29:54 | 显示全部楼层 |阅读模式
用了几年WE了居然到今天才知道还有Union Bug这种东西,暴雪为什么不把它修正了啊……

事件 - ……
条件 - ……
动作 - local integer udg_IntTemp = 0
            local unit udg_UnitTemp1 = null
            local unit udg_UnitTemp2 = null
            set udg_IntTemp = 10
            set udg_UnitTemp1 = 某单位A
            set udg_UnitTemp2 = 某单位B
            设置UnitTemp1的自定义值为100

这触发完了之后某单位A的自定义值不变,而B的自定义值会变成100,对不对?这就是万恶的Union Bug吧?
即使两个变量不是同类型,是不是仍然会出问题?比如udg_IntTemp的值会被覆盖成B的地址,是吧?

那我要在一个触发里用两个或以上的局部变量怎么办?有没有什么办法避免这种错误的赋值覆盖?
发表于 2008-3-5 21:58:29 | 显示全部楼层
这个………………不要与全局变量重名不可以吗??
回复

使用道具 举报

发表于 2008-3-5 22:07:53 | 显示全部楼层
这是因为之前有个人推荐了这种写法,在全局变量中设置一个名为A的变量。
然后在需要使用局部变量的触发器里面的开头加上一句自定义语句。
local xxxtype udg_A  = initvalue
然后就可以使用GUI界面。直接用A这个变量了。
这就是万恶的GUI写法。

然后这个BUG在一年多以前被910同学提出来。说这样素不行的。但素米有研究这个BUG的用法。嗯嗯。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 19:22 , Processed in 0.034854 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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