unity连招系统


前言

最近课程作业要求按照元神来做一个动作类游戏的小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;
        }
    }
}
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值