前言
本文由作者@zx一路飞奔出品,转载请注明出处
文章地址:http://blog.csdn.net/u014735301/article/details/43055923作者微博:http://weibo.com/u/1847349851
这几天编码下来,是时候写篇博客总结和分享下了,做出来的效果大致为:
方向键控制人物移动,靠近怪物时,按下攻击键,可以锁定怪物,进行攻击。也可以释放技能,
技能分为:单体锁定,无锁定,造成的伤害效果分为:单体伤害,群体伤害。
怪物受到人物的攻击,开始对人物进行攻击,人物远离时,进行追击,当之间的距离达到一定长度时,怪物的攻击目标消失
放上几张图看看效果吧
动画控制
这里的动画控制,并没有使用unity自身的动画状态机,而是通过脚本写一个状态类,通过对状态的判断,播放对应的动画片段
在人物控制脚本中,使用了委托的方式,根据状态的不同来调用动画控制脚本中对应的方法
下面给出代码片段供参考
//人物状态 枚举
public enum ControlAnimationState {Idle,Move,WaitAttack,Attack,Cast,ActiveSkill,TakeAtk,Death};
//动画状态
public ControlAnimationState ctrlAnimState;
//人物状态
void HeroAnimationState() {
//静止
if(ctrlAnimState == ControlAnimationState.Idle)
{
animation.animationState = animation.Idle;
}
//行走
if(ctrlAnimState == ControlAnimationState.Move)
{
animation.animationState = animation.Move;
}
//攻击
if (ctrlAnimState == ControlAnimationState.Attack)
{
animation.animationState = animation.Attack;
}
//等待攻击
if (ctrlAnimState == ControlAnimationState.WaitAttack)
{