文章目录
- 前言
- 一、连招系统的思路
- 二、连招系统示例(五连招)
- 1.Animator设置
- 2.编写脚本
前言
最近课程作业要求按照元神来做一个动作类游戏的小demo其中涉及到连招系统开发,网上找的很多教程都不太让人满意,经过我本人的各种查找与摸索,发现了如下的又简单又快捷的方式,发布出来供大家参考
提示:以下是本篇文章正文内容,下面案例可供参考
一、连招系统的思路
连招系统的思路就是在给定时间间隔内玩家有没有触发攻击,如果有则进入下一个动作,如果没有则返回到idle状态。
二、连招系统示例(五连招)
1.Animator设置
在animator中设置trigger变量作为触发动作状态转换的方法
animation1 animation2 animation3 animation4 分别代表不同动画之间转换的trigger 同时设置一个reset代表返回idle状态
2.编写脚本
代码如下(示例):
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Combo : MonoBehaviour
{
//设置连招需要触发的trigger的数组
List<string> animlist = new List<string>(new string[] {
"animation1", "animation2", "animation3", "animation4" });
public Animator animator;
public int combonum;//连招计数
public float reset;
public float resettime;//设置重置时间
// Update is called once per frame
void Update()
{
if(Input.GetMouseButtonDown(0)&& combonum < 4)
{
animator.SetTrigger(animlist[combonum]);
combonum++;
reset = 0f;
}
if(combonum>0)
{
reset += Time.deltaTime;
if(reset> resettime)//当超过时间间隔就回到初始状态
{
animator.SetTrigger("Reset");
combonum = 0;
}
}
if(combonum==4)//当到达最后一个动作的时候重置
{
resettime = 2f;
combonum = 0;
}
else
{
resettime = 2f;
}
}
}