unity手游<少侠历险记>(2)人物攻击动画判定和怪物AI

前言


本文由作者@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)
        {
    
  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值