找回密码
 点一下
查看: 1015|回复: 18

变量排泄问题

[复制链接]
发表于 2012-3-10 08:10:30 | 显示全部楼层 |阅读模式
首先大家看一个触发器
事件-地图初始化
条件-
动作-选取[矩形区域001]内满足条件的单位[匹配单位 是 英雄 等于 TURE ]做多样的动作
      loop-单位移动攻击到[矩形区域002]
我想问的主要就是排泄,在[选取[矩形区域001]内满足条件的单位[匹配单位 是 英雄 等于 TURE ]做多样的动作]时会创建一个单位组,但是我在百度贴吧上看到一个关于排泄的教程,那就是在创建了单位组以后使用[单位组-删除最后创建的单位组]是无效的,我现在就是想求证这种排泄是不是有意义的,如果没有意义我会改用变量[关于清除触发单位的位置这个排泄同求]
发表于 2012-3-10 08:20:25 | 显示全部楼层
一般都是
单位组 g = [矩形区域001]内满足条件的单位[匹配单位 是 英雄 等于 TURE ]
选取g中所有单位做动作
删除g

暴雪的 最后创建的XX 有些时候比较坑爹……
比如在选取[矩形区域001]内所有单位做动作里又用了个会给最后创建的单位组赋值的动作,那么[矩形区域001]内所有单位这个单位组就删不掉了

单位位置的话由于同个触发里一般都要用很多次(创建点特效,移动到点之类的),所以常用的做法也是变量记录
回复

使用道具 举报

 楼主| 发表于 2012-3-10 09:31:12 | 显示全部楼层

回 chyj4747 的帖子

chyj4747:
一般都是
单位组 g = [矩形区域001]内满足条件的单位[匹配单位 是 英雄 等于 TURE ]
选取g中所有单位做动作
删除g

.......
删除变量g以后,g就永久的消失了?照这么说每个涉及到单位组的触发都要一个新变量?那么我用老狼UI的新建单位组来完成之后再删除最后创建会有问题吗?我是不是可以设置一个变量是单位组,之后在用完了以后清空在用[我比你聪明]
回复

使用道具 举报

发表于 2012-3-10 10:24:57 | 显示全部楼层
删除变量g以后,g就永久的消失了?照这么说每个涉及到单位组的触发都要一个新变量?那么我用老狼UI的新建单位组来完成之后再删除最后创建会有问题吗?我是不是可以设置一个变量是单位组,之后在用完了以后清空在用[我比你聪明]
我可以先吐槽下最后那个“我比你聪明”吗…………


当然可以清空后再用,只不过如果你使用的是
单位组 g = [矩形区域001]内的所有单位
清空g
这样的循环用的话,每次给g赋值都是一个新的单位组,之前旧的单位组泄漏
回复

使用道具 举报

 楼主| 发表于 2012-3-10 10:26:58 | 显示全部楼层

回 chyj4747 的帖子

chyj4747:我可以先吐槽下最后那个“我比你聪明”吗…………

当然可以清空后再用,只不过如果你使用的是
单位组 g = [矩形区域001]内的所有单位
....... (2012-03-10 10:24)
泄露?照这么说这不就世界末日了么.0.0
回复

使用道具 举报

发表于 2012-3-10 11:06:11 | 显示全部楼层
所以说用删除g额……
回复

使用道具 举报

 楼主| 发表于 2012-3-10 12:19:27 | 显示全部楼层

回 chyj4747 的帖子

chyj4747:所以说用删除g额…… (2012-03-10 11:06)
照这么说,每一个使用到单位组的T都设置一个变量....[会累死的]
回复

使用道具 举报

 楼主| 发表于 2012-3-10 21:21:12 | 显示全部楼层

回 chyj4747 的帖子

chyj4747:所以说用删除g额…… (2012-03-10 11:06)
无论怎样,告诉我,清空单位组会不会造成泄漏,如果有泄漏那么是全部泄漏还是...
回复

使用道具 举报

发表于 2012-3-10 22:03:01 | 显示全部楼层
第一次:
单位组 g = [矩形区域001]内的所有单位  (创建了新的单位组并将其赋值给g)
清空g  (将g清空了)

第二次:
单位组 g = [矩形区域001]内的所有单位  (创建新单位组并赋值给g,第一次创建的单位组无法再捕捉到)
清空g  (将g清空了)

于是泄漏一个单位组


大家都是这么做图的。。像LZ这样说用变量记录很累的我还是第一次见……
相反,我还觉得用变量记录很方便
回复

使用道具 举报

 楼主| 发表于 2012-3-10 22:42:53 | 显示全部楼层

回 chyj4747 的帖子

chyj4747:
第一次:
单位组 g = [矩形区域001]内的所有单位  (创建了新的单位组并将其赋值给g)
清空g  (将g清空了)

第二次:
.......
QQ截图20120310224206.jpg 你看[我不是地图傻子]先将单位组赋值,之后完成动作并清空,会不会出现泄漏
回复

使用道具 举报

发表于 2012-3-10 23:37:57 | 显示全部楼层
首先你清空DWZ的位置不对,那样写的后果是不管DWZ里有多少单位,选取DWZ里所有单位做动作都只做一次动作

然后,之前说了
[trigger]
设置 G = (属于 玩家1(红色) 并满足 (((匹配单位) 是 英雄) 等于 TRUE) 的所有单位)
[/trigger]
这个动作每次赋值都是新建单位组,之前的单位组就找不到了
话说你既然是用变量记录单位组然后清除单位组,那将清除换成删除不就好了…………
回复

使用道具 举报

 楼主| 发表于 2012-3-10 23:57:07 | 显示全部楼层

回 chyj4747 的帖子

chyj4747:首先你清空DWZ的位置不对,那样写的后果是不管DWZ里有多少单位,选取DWZ里所有单位做动作都只做一次动作

然后,之前说了
[trigger]
设置 G = (属于 玩家1(红色) 并满足 (((匹配单位) 是 英雄) 等于 TRUE) 的所有单位)
....... (2012-03-10 23:37)
照这么说,不是需要很多变量吗?
回复

使用道具 举报

发表于 2012-3-11 00:39:51 | 显示全部楼层
额。。。原来你纠结在这里……

删除g并不是删除g这个变量,而是删除g所记录的单位组
g这个变量还是有效的,再次运行这个T的时候,g会记录为新建的单位组
回复

使用道具 举报

 楼主| 发表于 2012-3-11 06:58:14 | 显示全部楼层

回 chyj4747 的帖子

chyj4747:
额。。。原来你纠结在这里……

删除g并不是删除g这个变量,而是删除g所记录的单位组
g这个变量还是有效的,再次运行这个T的时候,g会记录为新建的单位组
那好吧....暂时相信你,不过为什么点就不好使[用变量记录点,清除以后这个点就光荣了...再也用不了了....我用的是地图初始化的时候给一个点赋值,之后用到的时候就移动这个店到想要的位置,不知道会不会出现泄漏
回复

使用道具 举报

发表于 2012-3-11 08:37:37 | 显示全部楼层
用变量记录点,清除以后这个点就光荣了...再也用不了了
肯定是写法上的原因。。
比如在只会运行一次的T里给点变量赋了值,然后在多次运行的T里运行第一次的时候删除之,之后当然就用不了了……
回复

使用道具 举报

 楼主| 发表于 2012-3-11 09:24:27 | 显示全部楼层

回 chyj4747 的帖子

chyj4747:肯定是写法上的原因。。
比如在只会运行一次的T里给点变量赋了值,然后在多次运行的T里运行第一次的时候删除之,之后当然就用不了了…… (2012-03-11 08:37)
好吧....你解决了我的问题,粉你了
回复

使用道具 举报

发表于 2012-3-11 12:47:36 | 显示全部楼层
在会LOC以前,UDG就是磨练心智的
回复

使用道具 举报

发表于 2012-3-14 20:19:35 | 显示全部楼层
什么情况啊
回复

使用道具 举报

 楼主| 发表于 2012-3-15 17:49:18 | 显示全部楼层

回 无憾的飞 的帖子

无憾的飞:什么情况啊 (2012-03-14 20:19)
不要挖坟...会死人的
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-4 19:13 , Processed in 0.034676 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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