安卓游戏飞行的特定效果_

    UFO的有限状态机

    代码17一显示了我们刚刚设计的UFO所具各的有限状态机制。人工智能的有限状态机用代码实现起来非常的简单。首先。定义了物体所其备的兰个状态,我们以Asteroids中UFO为例。声明了三个静态常I代表三个状态:DISAPPEARes STATE, CHASE STATE和ROUND- STATE.拥有了状态之后,就是实现状态的跳转。还记得前面给出的UFO状态转换图吗?按焦图中状态转换的条件,我们偏写了17一3代码中余下的内容。 FindPlane()方法,是用来枪侧在UFO的可视范m内是否发现了航天飞机?按照事先约定的逻辑。如果发现了肮天飞机鱿进入追逐的状态,未发现的话筑进入四处巡逻的状态。最后一个方法Update()。它就是UFO的逻辑循环。你可以把它理解为UFO的思考过程。在这个方法中,程序将会控制UFO的行为。按服有限状态机制的划分。当UFO处在追逐状态时。它需要执行视线算法来追逐肮天飞机。同时检侧航天飞机是否超出了实现范围和记录本身移动距离。记录移动即离的目的在于当UFO移动距离总和达到预设值时。它将会进入消失状态。消失状态的逻辑非常容易理解。那就是UFO并不存在任何行为,只是逐步减少消失时间。直li为零时它将会重新出现在屏幕上。进入巡逻状态。在巡逻状态中的逻辑包含了两个方法RandomMovc()和findPlane()。前者是后面章节将要介绍的内容。在这里,读者不妨思考一下。如何才能让Uro在固定范国内自动的巡迈呢?后者是刚刚介绍的查找从天飞机的方法。

   

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注