第三节 ☆ 游戏事件&普通事件&时间事件&可破坏物事件
Game - Time Of Day
| 游戏中时间变化
| Game - Value Of Real Variable
| 实数变量Real数值变化
| Game - Game Load
| 游戏读取
| Game - Game Save
| 游戏保存
| Game - Hero Abilities Button Clicked
| 按下英雄升级技能按钮
| Game - Build Structure Button Clicked
| 按下建造按钮
|
游戏中的时间事件通过游戏时间流逝来进行判断,可利用不同时间做不同事。而实数变量,操作方式和时间事件是一样的,区别在于,必须创建一个实数变量才可以使用这个事件,而且必须要在游戏中制造改变这个变量的事件,就像游戏时间改变会触发游戏时间变化事件一样。
例11:当每天6点和18点的时候,给玩家1发放500金币的工钱。
[trigger]
事件:
游戏 - 游戏时间变为 等于 6.00
游戏 - 游戏时间变为 等于 18.00
条件:
动作:
玩家 - 增加 500 玩家1(红色) 的 现有黄金
[/trigger]
PS:这里用到了两个事件,前面已经提过,事件是并行的,所以这两个事件是会分别触发增加玩家黄金的事件。
游戏读取&游戏保存&按下英雄升级技能&按钮按下建造按钮
这几个事件基本上和现在的主流事件无关,适用于单机游戏时候;前两者就不用介绍了,看字面意思应该就能了解。而后两者,分别是英雄学习技能的那个红色十字被按下和农民建造按钮被按下,这两个都无法捕获触发单位,因此这几个事件可以忽略掉了。
普通事件只有地图初始化事件,就是在读取地图的最后阶段执行的事件,一般作用于对变量进行赋值等并不涉及改变游戏数据的动作(比如创建多面版之类的不会被执行)。
Time - Time Elapsed
| 时间流逝经过
| Time - Periodic Event
| 周期性事件
| Time - Timer Expires
| 计时器过期
|
时间流逝事件,在正式进入地图以后开始计时,在一定程度上可以当成对游戏事件的补充,比如将时间经过设为0.01的话,就可以执行一些初始化操作而不受地图初始化的一些限制。周期性事件和时间流逝事件的区别在于,当周期性事件定义的时间到达的时候,会执行触发并重新计时,而时间流逝事件只会执行一次。
例12:每隔10秒创建3个骑士在(区域000),并命令他们攻击移动到(区域001)
[trigger]
事件:
时间 - 每 10.00 秒触发事件
条件:
动作:
For循环整数A从 1 到 3, 做动作
Loop - 动作
单位 - 创建 1 个 骑士 给 玩家1(红色) 在 (矩形区域 000 <预设> 的中心点) ,面向角度为 默认建筑朝向 度
单位 - 对 (最后创建的单位) 发布 攻击移动 命令到目标点: (矩形区域 001 <预设> 的中心点) [/trigger]
PS:这里用到了FOR循环语句,执行3次同样的动作,这样可以针对每一个创建的单位发布命令而不需要担心因为数量过多而有些单位没有获得命令(超过12只时)。
Destructible - Destructible Dies
| 可破坏物体被摧毁
| Destructible - Destructible Within Region Dies
| 在区域中被摧毁
|
可破坏物,就像树、门之类的装饰物,有一定生命值,会被破坏。
例13:当区域001内的夏树墙被摧毁后(区域判断上限为64),5秒后复活。
[trigger]
事件:
可破坏物 - 可破坏物在 矩形区域 001 <预设> 内死亡
条件:
((死亡的可破坏物) 的类型) 等于 夏季树木
动作:
等待 5.00 秒
可破坏物 - 复活 (死亡的可破坏物) 并设置生命值为 ((死亡的可破坏物) 的最大生命值) , 显示 复活动画 [/trigger]
PS:这里利用了等待语句,但如果死亡的可破坏物过多可能会造成无法复活或无法判断的情况,还有个方式就是利用周期性事件来执行刷新动作,利用选区范围内的可破坏物来复活(后详)。
第三节 完
|