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

关于单位组排泄的问题

[复制链接]
发表于 2013-2-3 11:33:13 | 显示全部楼层 |阅读模式
本帖最后由 1987115 于 2013-2-3 13:44 编辑

请问单位组排泄是不是就做一个“

设置XXX = 最后创建的单位组
单位组 - 清空单位组XXX

或者直接

单位组 - 清空单位组 最后创建的单位组

”就行?

看其它贴子的提问完全看不懂!
发表于 2013-2-3 11:51:08 | 显示全部楼层
设置 g = 新建单位组 / 选取XX范围内的单位 / 选取某玩家的所有单位 / …… (即任何会创建单位组的动作)
【各种可能存在的其它无关动作】
单位组 - 选取g中所有单位做动作
     - loop
       【各种单位组内动作】
【各种可能存在的其它无关动作】
单位组 - 删除g  <- 单位组排泄

以上是个人推荐写法~
清除单位组并不是真正意义上的排泄,因为清除后这个单位组还在,只不过里面没有单位而已,就像装了一盒子糖,你把糖吃光了,空盒子还在
因此删除才是排泄

“清除某单位组”这个动作一般是在:
比如接下来还要使用这个单位组存单位
比如是个这个单位组接下来还要用作某种判断(如判断该单位组是否为空)
比如……暂时想不到了。。
以上这些情况或其它类似情况下使用的,也就是说清除单位组是有意义的动作,而不是为了排泄

不过嘛。。当LZ熟练后呢,可以试着了解下各种触发动作的原理,于是就会发现我上面说的不全对,清除单位组也是某种排泄~

点评

呃!好吧!面对单位组我真心跪了! 请问如果我想重复用同一个单位组变量的话该怎么写? 图中测试第一次按ESC是 2 0 第二次后就是 0 0 了  详情 回复 发表于 2013-2-3 13:05
先谢谢了!  详情 回复 发表于 2013-2-3 12:08
好吧!有问题再问!  详情 回复 发表于 2013-2-3 12:03
回复

使用道具 举报

 楼主| 发表于 2013-2-3 12:03:21 | 显示全部楼层
chyj4747 发表于 2013-2-3 11:51
设置 g = 新建单位组 / 选取XX范围内的单位 / 选取某玩家的所有单位 / …… (即任何会创建单位组的动作)
...

好吧!有问题再问!
回复

使用道具 举报

 楼主| 发表于 2013-2-3 12:08:04 | 显示全部楼层
chyj4747 发表于 2013-2-3 11:51
设置 g = 新建单位组 / 选取XX范围内的单位 / 选取某玩家的所有单位 / …… (即任何会创建单位组的动作)
...

先谢谢了!
回复

使用道具 举报

 楼主| 发表于 2013-2-3 13:05:34 | 显示全部楼层
chyj4747 发表于 2013-2-3 11:51
设置 g = 新建单位组 / 选取XX范围内的单位 / 选取某玩家的所有单位 / …… (即任何会创建单位组的动作)
...

呃!好吧!面对单位组我真心跪了!
请问如果我想重复用同一个单位组变量的话该怎么写?

未命名.JPG

图中测试第一次按ESC是
2
0

第二次后就是
0
0
回复

使用道具 举报

发表于 2013-2-3 13:37:24 | 显示全部楼层
本帖最后由 chyj4747 于 2013-2-3 13:39 编辑
1987115 发表于 2013-2-3 13:05
呃!好吧!面对单位组我真心跪了!
请问如果我想重复用同一个单位组变量的话该怎么写?


额。。。这个动作就涉及到一些触发动作的原理

你所用的这个动作,也就是“创建N个单位”
其内部运作的时候,首先获取最后创建的单位组,如果你是仅仅在变量区里新建了monster变量的话那么最后创建的单位组就是monster
然后下一步是将这个最后创建的单位组清空
再然后,创建你动作里写的两个步兵并加入这个单位组
最后返回最后创建的单位组

于是你这个T里第一行动作实际就是moster先被清空,然后加入了两个步兵,最后再被设置成了自己
因此自始至终都只有一个单位组,所以第三行删除monster以后,第二次运行时就没有“最后创建的单位组”了

于是你可以这么做,先放几个单位在图里,然后设置moster为选取图里的这些单位,比如选取矩形区域内的单位、选取XX范围内的单位等等

PS:短时间内连续发帖如果后面没有别人回复的话用编辑可以避免多连,因为多连会连续将本帖顶到最前面,某种程度上会造成不太好的影响
PS2:个人感觉LZ不是很懂单位组的样子,因此如果下面的内容LZ不知道的话可以看下~


从LZ的T里能看出moster的数组大小是1,因此如果LZ想让moster[1]、moster[2]等都能工作的话,要将数组大小设大,也就是你要用多少个单位组就设置多少
当然也有别的做法,比如数组大小设置为0,也就是初始化时不生成任何空单位组,然后要用的时候设置该变量等于新建单位组

比如:
monster 数组大小0

1. 设置monster[0] = 选取XX范围内的所有单位 <-这个动作会自动创建单位组

2. 设置monster[1] = 新建单位组,添加XX单位到monster[1]

3. 设置monster[2] = 新建单位组,设置最后创建的单位组 = monster[2],创建N个某单位在Y点面向Z角度

等等……

点评

呃!答非所问了,我是问单位组………………不是问数组! 我意思是问…………我想重复用这个monster[0]来对我的多次刷怪进行排泄的话………………我该怎么做?  详情 回复 发表于 2013-2-3 13:44
回复

使用道具 举报

 楼主| 发表于 2013-2-3 13:44:22 | 显示全部楼层
本帖最后由 1987115 于 2013-2-3 13:47 编辑
chyj4747 发表于 2013-2-3 13:37
额。。。这个动作就涉及到一些触发动作的原理

你所用的这个动作,也就是“创建N个单位”

呃!答非所问了,我是问单位组………………不是问数组!


我意思是问…………我想重复用这个monster[0]来对我的多次“创建N个单位”进行排泄的话………………我该怎么做?




回复

使用道具 举报

发表于 2013-2-3 14:22:23 | 显示全部楼层
1987115 发表于 2013-2-3 13:44
呃!答非所问了,我是问单位组………………不是问数组!

表示我是先回答了你的问题然后再补充的额。。。

monster[0] = 新建单位组
设置 最后创建的单位组 = monster[0]
创建N个单位在P点, 面向A度
游戏 - 显示文字
删除monster[0]
游戏 - 显示文字

点评

删除monster[0]………………删除后monster[0]不是已经不能再用了么?我5楼已经做过演示了!  详情 回复 发表于 2013-2-3 14:29
回复

使用道具 举报

 楼主| 发表于 2013-2-3 14:29:09 | 显示全部楼层
chyj4747 发表于 2013-2-3 14:22
表示我是先回答了你的问题然后再补充的额。。。

monster[0] = 新建单位组

删除monster[0]………………删除后monster[0]不是已经不能再用了么?我5楼已经做过演示了!
回复

使用道具 举报

发表于 2013-2-3 14:32:29 | 显示全部楼层
1987115 发表于 2013-2-3 14:29
删除monster[0]………………删除后monster[0]不是已经不能再用了么?我5楼已经做过演示了!


那么你有做个跟我写的那个模板一模一样的T进游戏试验吗?

点评

不得不说”设置 最后创建的单位组 = monster[0]“这一条有点启发性!  详情 回复 发表于 2013-2-3 14:47
………………你确认先“设置 最后创建的单位组 = monster[0]” 再做“创建N个单位在P点, 面向A度”接着就删除monster[0]……………………………………monster[0]能被有效附值?  详情 回复 发表于 2013-2-3 14:45
回复

使用道具 举报

 楼主| 发表于 2013-2-3 14:45:27 | 显示全部楼层
chyj4747 发表于 2013-2-3 14:32
那么你有做个跟我写的那个模板一模一样的T进游戏试验吗?




………………你确认先“设置 最后创建的单位组 = monster[0]”
再做“创建N个单位在P点, 面向A度”接着就删除monster[0]……………………………………monster[0]能被有效附值?
回复

使用道具 举报

 楼主| 发表于 2013-2-3 14:47:51 | 显示全部楼层
本帖最后由 1987115 于 2013-2-3 15:12 编辑
chyj4747 发表于 2013-2-3 14:32
那么你有做个跟我写的那个模板一模一样的T进游戏试验吗?

不过不得不说”设置 最后创建的单位组 = monster[0]“这一条有点启发性!



……………………………………这条怎么写?我只会做”设置 monster[0] = 最后创建的单位组



还有个问!这一点最重要的………………触发一开始就写“monster[0] = 新建单位组”,这个“新建单位组”会不会在monster[0]附值到最后创建的单位组后又变成了另一个内存垃圾呢?(我就是当初担心这一点所以没加“monster[0] = 新建单位组”)
回复

使用道具 举报

发表于 2013-2-3 15:19:07 | 显示全部楼层
本帖最后由 chyj4747 于 2013-2-3 15:20 编辑
1987115 发表于 2013-2-3 14:47
不过不得不说”设置 最后创建的单位组 = monster[0]“这一条有点启发性!


额。。。好吧……我忽略了T的设置变量是没法直接用BJ的变量的

那么就这么写……

设置 monster[0] = 选取0范围内圆心为地图中心点的所有单位
清空monster[0]
创建N个单位在P点, 面向A度
游戏 - 显示文字
删除monster[0]
游戏 - 显示文字

其实我想说。。LZ把你要的实际效果讲出来然后我写个我认为较好的版本给你……

点评

"设置 monster[0] = 选取0范围内圆心为地图中心点的所有单位" ………………我怪都还没刷出来,地图上怎么会有怪??再说你那个指令不是一样会另外创建单位组么? 唉!还是  详情 回复 发表于 2013-2-3 15:24
回复

使用道具 举报

 楼主| 发表于 2013-2-3 15:24:39 | 显示全部楼层
chyj4747 发表于 2013-2-3 15:19
额。。。好吧……我忽略了T的设置变量是没法直接用BJ的变量的

那么就这么写……



"设置 monster[0] = 选取0范围内圆心为地图中心点的所有单位"


………………我怪都还没刷出来,地图上怎么会有怪??再说你那个指令不是一样会另外创建单位组么?









唉!还是算了!我想我还是放弃排泄好了!反正图的优化本身已经做得够上盛了
回复

使用道具 举报

发表于 2013-2-3 15:36:23 | 显示全部楼层
1987115 发表于 2013-2-3 15:24
"设置 monster[0] = 选取0范围内圆心为地图中心点的所有单位"

这个动作仅仅是为了新建单位组并且给“最后创建的单位组”设定新值。。否则为什么要用没有意义的0范围

好吧。。最简单的,如果你这个单位组是长久用的话,那么不需要删除,反正一直要用,没有必要反复删除再创建新的


至于排泄,还是用之前那个糖盒的比方
你写的触发相当于:
一开始你有一个空糖盒,然后装了两颗糖,判断糖盒里有两颗糖然后显示信息,把糖盒扔进垃圾桶,再判断你拥有的糖盒里有几颗糖

第二个判断时你已经没有糖盒了因此也就没有糖

然后第二次运行,你现在没有糖盒,要装两颗糖但是没盒子,判断你有多少糖但是连糖盒都没有因此为0

于是我做的改变就是,我先做个空的糖盒,装糖,判断糖数,扔掉糖盒,判断糖数
第二次运行的时候,我又做了个空的糖盒,后面重复

点评

感觉怎么说都依然是很矛盾! 我那两段文字只不过是用来判断到底我创建N个单位时产生的那个“单位组”能不能被monster[0]正确附值和删除, "设置 monster[0] = 选取0范围内圆心为地图中心点的所有单位"这一动作  详情 回复 发表于 2013-2-3 17:32
回复

使用道具 举报

 楼主| 发表于 2013-2-3 17:32:24 | 显示全部楼层
chyj4747 发表于 2013-2-3 15:36
这个动作仅仅是为了新建单位组并且给“最后创建的单位组”设定新值。。否则为什么要用没有意义的0范围

...

感觉怎么说都依然是很矛盾!


我那两段文字只不过是用来判断到底我创建N个单位时产生的那个“单位组”能不能被monster[0]正确附值和删除,
"设置 monster[0] = 选取0范围内圆心为地图中心点的所有单位"这一动作本身又会另外产生一个新的“单位组”,那样排泄就变得没有意义!

我实际想做的就是   创建N个糖球---》给创建糖球时产生的糖盒子用变量定义---》然后把糖盒子清除---》剩下糖球随意活动!----》接着重复
回复

使用道具 举报

发表于 2013-2-3 23:20:12 | 显示全部楼层
本帖最后由 chyj4747 于 2013-2-3 23:22 编辑
1987115 发表于 2013-2-3 17:32
感觉怎么说都依然是很矛盾!


于是回到我6楼讲的,创建N个单位这个动作会把其所有创建出来的单位加入最后创建的单位组,这个是内置的,你没法改,因此如果是写成排泄的话,那么就需要在用这个动作前先创建空的单位组,并且设置给最后创建的单位组

或者其实换种说法你更好理解一点,创建N个单位这个动作不会创建新的单位组
如果你按顺序制作了1、2、3一共三个糖盒,那么这个动作的本质就是把N个糖放到最后一个制作的糖盒,即3号糖盒

点评

创建N个单位这个动作不会创建新的单位组………………………………………………………… 运行多少次都不会?  详情 回复 发表于 2013-2-3 23:43
回复

使用道具 举报

 楼主| 发表于 2013-2-3 23:43:25 | 显示全部楼层
chyj4747 发表于 2013-2-3 23:20
于是回到我6楼讲的,创建N个单位这个动作会把其所有创建出来的单位加入最后创建的单位组,这个是内置的 ...

创建N个单位这个动作不会创建新的单位组…………………………………………………………


运行多少次都不会?
回复

使用道具 举报

发表于 2013-2-9 10:35:42 | 显示全部楼层
1987115 发表于 2013-2-3 23:43
创建N个单位这个动作不会创建新的单位组…………………………………………………………

抱歉回复晚了。。之前都没看到……

这个动作不会创建新的单位组~
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 21:55 , Processed in 0.166292 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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