Unity开发备忘录000035:Bolt无编程做游戏——伤害
我把UnityChan游戏的原始设计做了一点修改,添加了角色受伤害效果。为了规范起见,将原来的Death动画的名称改为Hurt,动画控制器中的Death和Death 0节点也分别更名为Move Left和Move Right。
所谓伤害效果,就是当UnityChan碰到小怪时,产生被伤害动作并且减少积分。如下
为了在碰撞检测中能够确定角色碰撞的是小怪,我们需要为小怪添加一个独立的标签uni
为了在角色碰撞到小怪时产生被伤害的效果,需要在动画控制器中设立一个Triggler类型的变量参数hurt
并在跑动节点到伤害节点的过渡线上添加hurt
为了让碰撞时,伤害效果及时响应,需要在过渡线的检查器中将“有退出时间”和“固定持续时间”后面的√去掉
一切都准好之后,便可以在UnityChan身上写Flow Machine的流程图了
该流程图中,首先用On Collosion Enter 2D节点侦听是否碰撞到其他游戏对象,并且通过Compare Tag识别碰撞的游戏对象一定是小怪,如果角色真的碰撞到了小怪,Branch的True出口会流到Set Trigger节点上,从而迫使hurn变量参数**,即动画控制器中可以从跑动节点流到伤害节点,从而调出伤害动画。
此时流程图继续往下流至Set Variable节点,该节点为积分设置参数currenScornes,该参数的值通过原有currenScornes的值减去15作为新值储存,代表积分被减去15。
然后会将Set Variable节点值显示到UI积分的下面,当然要在UI上显示数值,一定要将数值转换成字符串,这便是To String节点的作用,而Get Variable节点是用来存放展示积分的文本UI,即intagral,在Variables调板中可以看到intagral存放的是显示积分的Text的UI控件Integral(Text)。
至此,利用Bolt无需编程,顺利实现游戏中的伤害效果。