# 简易教程②:制作一种带有范围攻击的生物

# 作者:境界

#

高级史莱姆示例包下载:下载示例包 (opens new window)

①再次打开附录包内的高级史莱姆行为。我们开启了一个组件组,里面包含了一个“knockback_roar”组件行为,它来自劫掠兽,是劫掠兽吼叫时产生范围伤害和击退的组件行为。非常适合用来制作范围攻击。详细的组件键对属性已经用注释写好了。我们来关注一下如何在合适的时机将这个组件组加入进高级史莱姆的活动当中。

②还记得本章前面提到的控制器与生物事件吗?我们曾经写过一个例子,是在生物发现目标时给予一种状态效果,在失去目标时取消状态效果。同样,我们也可以将这个模式进行改造,让高级史莱姆在发现目标时对周围产生一次战吼的范围攻击,并在攻击结束后开始朝玩家方向移动。因此行为包的控制器内已经写好了一个控制范围攻击触发的控制器。“query.has_target”由文档可知,当实体发现目标时返回“1.0”,即真,反之返回“0.0”,即假。因此切换到“roar”吼叫状态时,必须满足发现目标。紧接着我们在“on_entry”里执行一条指令,会触发一次全屏信息公告。接着触发在高级史莱姆行为内定义好的开始吼叫事件。当吼叫结束时,我们又通过吼叫组件的“on_roar_end”触发一次移除吼叫组件的事件,这样生物就会开始朝目标靠近,直到目标消失后,控制器切换回普通状态,就会等待下一个目标发现时,继续战吼,形成一个生动行为的闭环。