我们发现主角和怪物的样子还很简单,我们这一章先给主角加上动画。
新建一个专门放动画文件的Animation文件夹,里面新建一个Animator Controller,

双击它,进入动画编辑界面,在界面右键创建一个Empty,命名为Idle。

点击新建的Idle状态(State),将Modle里的Idle动画赋予其中的Motion。

同理制作一个Move 状态(State),将Move动画文件放入,并让他们相互指向(右键状态然后选择Make Transition )

在Animatior 的 Parameters中我们新建一个bool型参数 isMoving

然后点击Idle和Move的连接线,给他们的Conditions添加这个参数,其中idle指向Move的设为true,另一个设为false;他们的Has Exit Time都不勾。

接下来是编辑代码,打开playerMovement.cs 加入如下内容:

运行一下,发现1个问题,如果我们一直站着不动,Idle动画也只播一次,我们点开idle文件的Edit按钮,点选LoopTime和Apply,即循环播放,就好啦。

解释一下这个动画流程,从Entry开始,循环播放Idle动画,Idle动画有一个指向Move的箭头,这个箭头有个条件,即isMoving为True是转换到Move动画,在这个isMoving在代码里通过是否在移动来控制。
现在,我们添加一个受伤闪烁的动画,
在场景中我们新建一个Canvas,里面加一个Image,为了区别,这个Canvas我们命名为MainCanvas,它的Render Mode 设为 Overlay,即一定显示在屏幕上。image的初始透明度为完全透明,并扩充整个Canvas。


在PlayerHealth.cs里加上:

再将对应的Image拖入就行啦。
网友评论