Warcraft 版 (精华区)
发信人: nonnamer (无名), 信区: Warcraft
标 题: 触发编辑器
发信站: 哈工大紫丁香 (Wed Aug 17 01:09:13 2005), 转信
触发器编辑器
触发器编辑器是地图编辑器中最高级和最强大的部分。在触发器控制器中,用户可以
控制游戏中所有的效果。这是一种非常容易理解的简单语言。但是却足够强大到足够
高级用户使用。它可以通过使用键盘上的"F4"或者在模块菜单中选择触发器编辑器打
开。
一个触发器包括三个部分:事件、条件和动作。一个触发器的动作在触发了事件,并
满足了条件之后执行。
事件
事件是开始处理触发器的导火线。当一个触发器的事件发生的时候,如果满足条件,
则就会产生动作。在一张地图中默认的触发器是"地图载入"。这个触发器的默认条件
是"地图载入"也就是这个事件将发生在地图载入完毕的时候。如果没有条件需要满足
,则就会产生相应的动作。如果你想加入条件,就可以加入条件"时间--时间经过",
然后设置10秒。则动作就会发生在"地图读入"的10秒之后。
条件
条件是触发器执行动作必须满足的条件。只有在这个条件为真的时候才能产生动作。
但是如果这样设置条件"False Equal to False"将不产生任何的效果,因为它永远是
成立的。默认的触发器"地图载入"是没有条件的。让我们来添加一个。按下Ctrl+D,
选择"游戏速度比较",则会弹出一个有蓝色文本的对话框。"(Current game speed)
Equal to Normal."如果保持这个条件,则"地图载入"触发器将会正常工作。但是如
果你将条件中的"Normal"改为"Fastest"。则这个触发器将无法在地图编辑器中触发
,因为编辑器将地图的速度设定为普通,条件变成了"Normal speed equal to Fastest
speed",这个条件不为真。
一些触发器中,事件发生后条件不一定能够满足。这样的触发器可以设定为多个事件
,只有某个事件发生的时候才能够触发。
触发器真正需要的是动作(事实上,这么说并不准确。也就是说没有动作,这个触发
器将对游戏没有任何的影响)。也就是说一个触发器可以在没有事件和条件的情况下
运行。这可以通过设定动作"Trigger - Run (Ignoring Conditions)"来实现。触发
器将在没有条件和事件的情况下进行。
动作
动作是触发器的结果。这可以是让移动镜头、播放电影或者是让一个单位攻击另一个
。动作允许被设计成完全控制游戏中的一切。
创建触发器
首先点击"F4"或者选择模块菜单中的触发器编辑器项,打开触发器编辑器。
在创建触发器之前,必须选择触发器放置的类别。通过在菜单中选择创建类别来创建
一个类别。然后你就可以在左边的列表中看到你刚刚创建的类别。类别拥有图标,你
可以在创建的时候选择类别的名字,或者之后点击"F2"进行更改。
选择你刚刚创建的类别,然后在新的菜单中选择触发器,就可以创建一个触发器。选
择你刚刚创建的触发器,你就会发现触发器的右边有两个复选框:
允许 - 如果这个复选框没有被选定,则这个触发器将不产生作用。
原始打开 - 如果这个复选框没有被选定,则这个触发器开始是被关闭的。只有通过
动作"Trigger - Turn On"才能够打开。
在触发器的右边还有几个选项。
注解 - 这个文本区域可以填写有关处发起的注释信息。这些信息将不会影响触发器
的功能,只是用来提醒您触发器的功能等信息的。
触发器函数 - 这里将显示你的触发器的内容。你可以看到触发器的事件、条件和动
作。你也可以在这里添加触发器的事件、条件和动作。
你可以在触发器之间,甚至是地图之间对触发器的事件、条件和动作进行复制和粘贴
。你可以通过双击已经设置的事件、条件和动作,对他们进行编辑。
还有一些关于触发器的常见内容是变量、函数和预先装置。
变量
你可以通过按下Ctrl+B或者在触发器编辑器的菜单中选择变量打开变量部分。这里的
变量和BASIC或者C语言中的变量有些类似。变量是编辑者用来存放数据的一些空间。
但是这里的变量只能用来存放一种数据。你不能够将整数放入这种变量中。
让一个触发器引用你预先放置在地图上的单位。也就是你想让某个单位执行动作。首
先开打你想执行的动作。点击动作文本中能够被改变的部分。也就是红色或者蓝色的
带下化线的文本。然后点击选择单位按钮,选择你放置在地图上的单位。你所选单位
名字将会显示在变量列表中。
尝试一下这样:打开一张空白地图,放置一个兽族的苦工。然后打开触发器编辑器。
使用Ctrl+G创建一个新的类别,再使用Ctrl+T创建一个新的触发器和使用Ctrl+R新的
动作。然后点击"U"键选定动作"Unit - Kill"。则触发器的语法文本将显示"Unit -
Kill (Triggering unit)"。点击蓝色下画线文本"(Triggering Unit)"点击按钮选
择一个单位(在编辑变量按钮的左边)。选择苦工。恭喜你!你已经为地图上的苦工
设置了一个触发器。所有预先放置在地图上的单位都有一个名字。
如果你对变量还有疑问,我们推荐你阅读相关的计算机书籍(C++版)。
函数
触发器编辑器包含有很多的函数,允许用户灵活进行更加灵活的控制。函数通常和变
量一起使用。一个常用函数的例子是"Last Created Unit"。这个函数允许你访问通
过"Unit - Create"最后创建的单位。它是两个能够引用最后创建单位的函数之一(
另一个是:"Last Created Unit Group")。这些函数可以用来代替放在单位变量中
或者用来代替已经放置在地图上的单位。注意,虽然这些函数返回值,但是你不能够
让函数等于变量。但是可以让变量等于函数。
例如:你通过一个事件检测到一个英雄升级了。"Event Response - Leveling Hero
"函数将会引用到那个英雄。你不能让这个函数等于其他的英雄。如果你想让某个英
雄升级。可以使用这个方法:使用其他的方法检测这个英雄(例如:事?quot;Unit
- Player-Owned Unit Event" 或者条件"Unit-Type Comparison"),然后对这个英
雄设置动作,诸如:"Hero - Set Level."
预先设置
预先设置是编辑器内建的一种数据。你不需要知道,除了使用它门。而且无法改变它
们。例如:"Player 1 (Red)."
数值
还有一种你经常能够修改的区域是数值区域。这些区域允许你直接输入信息。例如这
些区域会出现在动作"Game - Text Message (Auto-Timed)"中。如果你点击蓝色的下
画线文本。你就可以打开一个字符窗口。窗口的最后一个选项是数值。如果你想输入
一个简单的信息,直接输入即可。无需再新建一个变量或者函数。
--
其实,我只是一个手持镰刀的稻草人
你就是我守护的麦子
等到大风吹折了我的腰
希望你已经成熟
我毕竟不能守护你到永远
我只是一个普普通通的死神
※ 修改:·nonnamer 于 Aug 17 01:09:18 修改本文·[FROM: 172.16.3.76]
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 172.16.3.76]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.778毫秒