unity连招系统

文章目录

  • 前言
  • 一、连招系统的思路
  • 二、连招系统示例(五连招)
    • 1.Animator设置
    • 2.编写脚本

前言

最近课程作业要求按照元神来做一个动作类游戏的小demo其中涉及到连招系统开发,网上找的很多教程都不太让人满意,经过我本人的各种查找与摸索,发现了如下的又简单又快捷的方式,发布出来供大家参考


提示:以下是本篇文章正文内容,下面案例可供参考

一、连招系统的思路

连招系统的思路就是在给定时间间隔内玩家有没有触发攻击,如果有则进入下一个动作,如果没有则返回到idle状态。

二、连招系统示例(五连招)

1.Animator设置

在animator中设置trigger变量作为触发动作状态转换的方法

animation1 animation2 animation3 animation4 分别代表不同动画之间转换的trigger 同时设置一个reset代表返回idle状态

2.编写脚本

代码如下(示例):

1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class Combo : MonoBehaviour 6{ 7 8 9 //设置连招需要触发的trigger的数组 10 List<string> animlist = new List<string>(new string[] { 11 12 "animation1", "animation2", "animation3", "animation4" }); 13 public Animator animator; 14 public int combonum;//连招计数 15 public float reset; 16 public float resettime;//设置重置时间 17 // Update is called once per frame 18 void Update() 19 { 20 21 22 if(Input.GetMouseButtonDown(0)&& combonum < 4) 23 { 24 25 26 animator.SetTrigger(animlist[combonum]); 27 combonum++; 28 reset = 0f; 29 } 30 if(combonum>0) 31 { 32 33 34 reset += Time.deltaTime; 35 if(reset> resettime)//当超过时间间隔就回到初始状态 36 { 37 38 39 animator.SetTrigger("Reset"); 40 combonum = 0; 41 } 42 } 43 if(combonum==4)//当到达最后一个动作的时候重置 44 { 45 46 47 resettime = 2f; 48 combonum = 0; 49 } 50 else 51 { 52 53 54 resettime = 2f; 55 } 56 } 57}
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

Twitter的分布式自增ID算法snowflake (Java版)

概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移

mysql设置时区

mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0