# 简易教程①:制作带有完整攻击动画的生物

# 作者:境界

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

①附录的附加包内包含一只高级史莱姆生物。让生物带有一种完整攻击动画在概念中一般是指,生物的攻击会因为动画效果带有延迟性。假如史莱姆在对目标进行进攻的时候,我们不希望它在达到攻击距离时,就对目标造成伤害。我们更希望它携带一种比较好的攻击动画,在动画的某一刻再打出那道伤害。幸运的是,原版的劫掠兽携带着这样的行为,并且它也用到了这样的动画效果。因此制作带有完整攻击动画的效果就变得简单起来。

②让实体带有攻击行为前,必须至少添加一种寻路组件行为、移动组件行为,一个移动速度组件行为和一个攻击力组件行为。寻路和移动组件行为打开后,攻击行为才会有效。移动组件行为和移动速度组件行为使生物能够移动到目标身边。攻击力组件行为添加上后,生物近战才会携带伤害能力。

③在高级史莱姆行为中,我们添加了minecraft:behavior.delayed_attack,即延迟攻击组件行为。详细的属性注释已经写在了组件行为旁边。

④接着切换到资源包,打开动画控制器,可以看到高级史莱姆的动画控制器文件。里面已经包含着一个专属于高级史莱姆的攻击动画控制器,使用“molang语法”前,根据文档提示可知,延迟攻击组件行为所搭配的“query”函数叫做“query.is_delayed_attacking”,当生物做出攻击动作时,它会返回“1.0”,即真,否则在其他时间下返回“0.0”,即假。因此,攻击动画使用的循环模式为单次,并在“query.is_delayed_attacking”返回“0.0”,即攻击结束时,切换回初始状态。