Arma 2 事件系统(Event Handler)
游戏中的事件系统是负责游戏逻辑代码的异步执行的。Arma2中的事件系统主要分为Trigger,Action和EventHandler这三个主要的部分。以下对这三个部分进行讲解。
Trigger触发器
触发是地图上放置的可以被某个游戏对象激活的区域。通过createTrigger函数来创建触发器。
_trigger = createTrigger [_pos];
这个区域是一个2维或者3维的透明具有特定大小体积物体。区域可以通过setTriggerArea设置:
_trigger setTriggerArea [a, b, #isreangle, c];
a, b, c分别为x, y, z轴方向上的半长度,触发器区域沿着原点对称。这个函数的第三个参数用于设置该区域是否为正方形。也就是true表示区域为正方形,false为椭圆形。
触发器也可以通过editor创建。在创建trigger对话框中可以设置触发的condition,onAct,onDeact域,分别控制触发条件,触发时执行的代码,取消激活状态时执行的代码。
值得注意的是这三个域中的预设变量。这些变量可以让我们方便的获取触发器的一些环境状态。比如,触发条件的真值,触发器内的全部对象列表等等。
//condition中的this表示触发条件的真值,在OnAct,OnDeact中this永远是false。
thisList //OnAct, OnDeact中表示所有触发的对象列表,等同于list this;
Action
每个
网友评论