概念

在【触发编辑器】里,可以对“触发器”和“变量”进行编辑。他们可以以较为简单的方式来指定游戏中的一些逻辑,而不必写代码。
在这里插入图片描述
例如,目前可以看到一个名为Melee Initialization的触发器。

触发器(Trigger)

“触发器”代表了一种逻辑:
特定时机并且满足限定条件下需要进行的一系列操作

  • 所谓的 “特定时机”事件表示,比如“一个单位的死亡”。
  • 所谓的 “限定条件”条件表示,是一些附加的判断,比如比较一个自定义的变量是否大于一个特定的值。它是可选的,并不是必须指定。
  • 所谓的 “一系列操作”动作表示,比如“改变当前的天气”、“设定英雄的等级”等等,可以有多个。

例如,目前在Melee Initialization这个默认添加的触发器中,可以看到它触发的时机是“Map initialization”即地图初始化时。而它进行了一系列的初始化操作,他们在动作中可以看到。

变量(Variable)

有时候,想要实现的逻辑其中包含了一些“非固定的量”,例如:我想要让英雄升级到“x级”,但这个“x”是由其他逻辑进行决定的。这时,“x”就是一个变量了。

“变量”对于编程而言是一个基础的概念,而关于它,一个重要的属性就是“作用域”:例如对于一个全局作用域的变量,在任何地方都可以访问,而一个局部作用域的变量,只在一个范围内可见。
在【触发编辑器】这个界面中,添加的变量似乎都属于全局变量,至于局部变量,似乎只存在于在JASS脚本中(此说法参考world-editor-tutorials : Learning Variable Basics)。而关于JASS脚本,目前了解较少,有待后续研究。

实践:添加一个新的触发器

首先,添加一个新的“类别”
在这里插入图片描述
新的类别起名为“测试类别”,然后就可以在其中添加“新触发(Trigger)”了。
在这里插入图片描述
新的触发器命名为“TestTrigger”,
工具栏的三个按钮分别可以添加新的 事件条件动作。添加后的可以在右下侧看到(当前没有任何内容)。
在这里插入图片描述
这里打断一下触发器的操作,我需要在地图中新加一个单位作为测试,我是玩家1红色方,这里我需要一个敌对方。因此添加一个“玩家2阵营(蓝色方)”的农民:
在这里插入图片描述
然后添加新事件

  • 类型为单位 - Specific Unit Event(特定单位的事件)
  • 选择这个【单位(Unit)】为刚才创建的农民,而【事件】默认就是“死亡”。

在这里插入图片描述
然后添加对应的动作
类型为环境 - Create Weather Effect创建天气效果,而这个效果就是“灰谷大雨”
在这里插入图片描述
这样就表示,当这个农民死亡时,会触发下雨的天气特效了。
效果如下:
在这里插入图片描述

实践:使用变量

添加一个新的变量:
在这里插入图片描述
新变量命名为test,变量类型是整数,初始值是7
在这里插入图片描述
然后为TestTrigger添加新的事件:

  • 事件类型为英雄 - Set Level即给英雄设置等级
  • 选择单位为己方的英雄
  • 而要升的等级为一个变量,他就是test

在这里插入图片描述
这样的意思是,现在农民死亡之后,不仅会下雨,还会让英雄升级的test的值(7)。
效果:
在这里插入图片描述

相关资料

world-editor-tutorials : Trigger Basics and Formats
world-editor-tutorials : Learning Variable Basics

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐