Trigger(触发器)教程
(一)什么是Trigger
Trigger是触发器的英文,触发器就是“使某个对象在满足一定条件的时候自动触发一系列行动“的东东
打个比方:就把阴天下雨当成一个Trigger
这里面的乌云就是对象(Players)
空气温度就是触发条件(Conditions)
下雨就是行动(Actions)
当空气到了一定低的温度的时候,乌云中的水蒸气变成了水,因为太重所以就落下来了,这就是阴天下雨的过程,而触发器就是这么个原理!很简单吧!
(二)Trigger的三元素(这是我为了方便记忆随便取的名字,你不喜欢可以叫它别的)
一个完整的Triggers包括三方面Players Conditions Actions,这三样缺一不可
(1)Players (对象)
(在Trigger编辑栏中单击New...创建一个新的Trigger,首先要输入的就是Players)
Trigger所说的Players可以是单个的Player也可以是多个Player所组成的Force
在Trigger中可选的Players一共有13个:
①Player * (*是1-8任意)
②Force * (*是1-4任意)
③All Players
PS:
这里的13个Player只是Trigger中第一个元素Players可以选择的
在Condition和Action中还有其它的Player可选,在以后讨论
在Force选项中如果更改Force 1-4的名称的话,在Trigger中也随之改变
(2)Conditions (条件)
(从字面直接翻译就知道是条件,它是一个完整的Trigger里面第二个元素,新建一个Trigger,选定Players之后单击下一步就该选择Conditions)了
在Trigger中可选的Conditions一共有22个
因为在经典教程里面有所有的Conditions介绍,我这里就不说了,我举个例子来简单讲解一下
(经典教程:
http://cat.cpgl.net/pages/6scrpg.htm)
例1:
Players选择All players
完整的Triggers如下:
CONDITIONS:
- Always:
ACTIONS:
- Center view for current player at ’’Start’’.
这个例子中的Conditions是Always命令
Always的意思是“总是“,用在Trigger里面就是“无论怎样都执行此Trigger的Actions“
所以测试地图的时候就会在游戏刚开始就能执行此Trigger
PS:
在讲Players的时候提到了Conditions和Actions中可选的Player
在一些Conditions和Actions中要设置Player参数
可是在选择的时候你会发现这里面的Player参数会比较多
例如在Bring这个Conditions中可选的Player参数就不只13个
还有另外5个:
①Current player
②Foes
③Allies
④Neutral players
⑤Non Allied Victory Players
Current player:
翻译过来是“当前玩家“
如果第一元素Players选择的是Player 1,那么在Conditions和Actions中选择Current Player和选择Player 1是一样的
(※以下为重点内容※)
如果第一元素Players选择的是Force 1,并且Force 1中包括2个或者2个以上的Players的话,那么在Conditions和Actions中选择Current Player的时候可要注意了
假设这里的Force 1中含有Player 1和Player 2 两个
在Conditions中选择Current Player的话就相当于这个Trigger分别以Player 1和Player 2为第一元素做了2个Trigger,节省一个Trigger
在Conditions中选择Force 1的话就完全不同了,相当于这个Trigger以Player 1或Player 2位第一元素做了1个Trigger,此Trigger不含有节省不节省的关系
细心的朋友会注意到上面讲的是数学中常见的逻辑问题“和“ “或“的区别
而且这么讲也太抽象,有的人不一定能接受,我还是举个例子说明吧
和刚才假设的一样Force 1中只含有Player 1和Player 2
第一元素选择Force 1
完整的Trigger如下:
CONDITIONS:
- Current player brings at least 1 Zerg Drone to ’’Create’’.
ACTIONS:
- Create 1 Zerg Zergling at ’’Create’’ for Current player.
写了这一个Trigger相当于写了两个类似的Trigger
第一元素是Player 1的
CONDITIONS:
- Player 1 brings at least 1 Zerg Drone to ’’Create’’.