2017-12-25

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

每个

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Interesting things 有2天没有写diary report了,因为这几天都在火车上颠簸。上个星期五...
    cmazxiaoma阅读 3,875评论 0 6
  • 四.实数系. 实数系就是有理数系的扩充。我们说任何一个有理数(a/b)是可公度的,但人们发现存在不可公度线段...
    jackjianshu阅读 4,204评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,169评论 19 139
  • 项目的基本情况及创新内容 (产品介绍,产品技术水平,产品的新颖性、先进性和独特性,产品的竞争优势。) 基本情况: ...
    DDDDpiupiupiu阅读 3,114评论 0 0
  • J Acupunct Meridian Stud. 2017 Jan;10(1):55-61. doi: 10.1...
    黄国健博士阅读 1,832评论 0 0

友情链接更多精彩内容