步骤 3:优化视觉脚本
- 选择
Idle状态并添加三个动作。
第一个是 ChangeObjectProperty。
将其设置为关闭W005Gun节点的Visible属性。
- 第二个也是 ChangeObjectProperty。
将其设置为关闭W001Sword节点的Visible属性。
- 第三个同样是 ChangeObjectProperty。
将其设置为开启AttackCollision节点的Disabled属性。
这将禁用剑的碰撞盒。
- 现在尝试测试运行。
剑和枪都应该是隐藏的,并且僵尸不会因为身体接触而受到伤害。
然而,由于它们保持隐藏状态,我们现在需要适当地启用它们。 - 在
Sword状态中,反转设置。
添加两个动作:
首先,使用 ChangeObjectProperty 开启W001Sword的Visible属性。
- 然后,使用 ChangeObjectProperty 关闭
AttackCollision的Disabled属性。
这将在攻击期间重新启用剑的碰撞盒。
- 再次测试您的游戏。
如果设置正确,剑将仅在挥剑攻击时出现。 - 现在我们来设置枪。
在Shoot状态中,添加一个动作: - ChangeObjectProperty 开启
W005Gun的Visible属性。
- 再次测试。
枪现在应该仅在射击时出现。
提示:使用动画切换属性
在本课程中,我们使用 ChangeObjectProperty 动作 来切换精灵的可见性。
不过,您也可以通过动画来控制 Visible 或 Disabled 等属性,将它们设置为关键帧。
但请注意:
如果动画在到达关键帧之前被中断,更改可能无法正确生效。
例如,某些动画如 026_Crouch 就使用此技术通过动画多边形切换面部表情。
有关 AnimationPlayer 的更多信息,请参阅图形课程。
下一课程:第 4 部分





