unity连击的实现
unity连击的实现
场景描述
在平时玩的RPG游戏中,经常会出现按下同一个按钮,会出现几个不同的连续的动作。今天来记录下这个功能的实现。
这里的人物图片感觉有点小,CSDN限制只能传2M以内的照片什么的。
这个就是四连击。在这里是一直点击一个按钮的,这里可以看见player的第一次攻击方向是向右的,第二次是向左的,第三次是向右的,第四次是一个拿剑向下杵下去的动作。
实现方法
先来看下代码,在PlaySkill里面
SkillTemplate finalsk = GetCurSkill(sk);//动作发起着动画inst.AnimState.SetAction(finalsk.actionId);presk.sk = finalsk;presk.IsComboSkill = IsCombSkill(finalsk);presk.LoseComboTime = Time.time + finalsk.ComboMaxEffectTime;presk.CoolDownTime = Time.time + finalsk.actionCd;
先得到最后一次攻击(也就是当前的动作)的技能ID,对它进行动画播放,实现之后就可以把这个技能置于为 presk.sk 即为预先一次的攻击。
之后就是判断技能冷却时间和在相对较短的时间里会出现下次攻击就会出现下个攻击。
再看看GetCurSkill的代码
if (presk == null || !presk.IsComboSkill || presk.sk.skillPos != sk.skillPos){return sk;}if (presk.IsComboSkill && presk.sk.skillPos == sk.skillPos){if (presk.CoolDownTime < Time.time && presk.LoseComboTime > Time.time){int skillid = presk.sk.nextSkillid;SkillTemplate newsk = GameDataManager.database.GetSkill(skillid);if (newsk != null)return newsk;}}return sk;
其中,int skillid = presk.sk.nextSkillid;这句代码给了每次实现的ID轮回。第一个技能的下个技能ID是2,第二个技能下个技能ID是3,就这样一个轮回。
unity连击的实现相关推荐
- unity 游戏内实现3连击动画(状态机)
上节课讲了unity 游戏内实现3连击动画的实现,因为在游戏中我们的连击动画可能会有很多,为了避免使用较多的if else 我们这节课开始引用状态机来更好的实现效果,那么接下来我们就开始状态机的讲解 ...
- Unity技能工厂——怎样实现丝滑的角色连击动画
RPG类型的动作游戏因为其敏捷的工作动作,技能连招之间丝滑的衔接,视觉冲击感爆棚的技能释放特效,所谓"拳拳刀肉,刀刀进身"的攻击效果,吸引了一大批忠实角色类扮演游戏的忠实粉丝. 那 ...
- Unity 点击、双击、连击、长按 事件检测(支持PC和移动端)
InputDefine 类:(公共变量.常量.枚举.事件)定义 using System.Collections; using System.Collections.Generic; using Un ...
- unity 游戏内实现3连击动画
public class Demo_01 : MonoBehaviour {Animator animator;void Start(){animator = GetComponent<Anim ...
- 用 Unity 探究 2D 游戏的打击感
引言 这是我毕业设计的一部分emmm--我的毕设和格斗游戏相关,而对于打击感的研究算是其中我比较在意的一环.现在临近毕业,我将毕设中开发部分的一些内容整理出来分享,希望能通过这样学习到更多的东西. 打 ...
- unity简单技能系统
unity简单技能系统 类类型概览 CharacterSkillManager 角色技能管理器 挂载在角色 持有SkillData与释放器 通过释放器进行技能释放 SkillDeployer ...
- Unity角色扮演游戏集合
Unity角色扮演游戏集合 Aurora Trail A new epic game where the perspective of the camera changes everything. D ...
- FingerGestures研究院之初探Unity手势操作(一)
昨天搬家,我被无情的从4楼请上了10楼.原因就是房东们为了争家产打官司,受伤的永远是我们这些打工的租房的码农,呵呵!结果就是我们两家做了一个调换把房子换了一下.东西太多了,真的好累啊,好累啊--前几天 ...
- Unity3D游戏开发从零单排(六) - 人物运动及攻击连击
提要 今天要实现的是一个简单人物控制器.包括用w,a,s,d来控制人物上下左右跑动,鼠标左击发出连招,都是基于老的lagacy的动画.虽然unity3d自带有charactorcontroller,但 ...
最新文章
- linux将b1内容重定向到b3,linux
- 【linux】Shell脚本中调用另外一个脚本的方法
- Task 10 统计从1到某个整数之间出现的1的次数
- marquee滚动起始位置_巧用喵影关键帧制作滚动水印,让视频小偷无可盗
- 使用NetBeans Lambda支持在Java 8中使用Lambda表达式对列表进行排序
- Java EE 7中包含哪些JSR?
- 微服务框架---搭建 go-micro环境
- 2021中国新锐品牌发展报告
- ISO8583报文协议(转)
- 计算机软件被删了,电脑软件被我不小心删了怎么处理
- Java中的【锁】事 - 极客大学架构师训练营 架构师 Albert 分享
- 大学英语综合教程二 Unit 1 到Unit 8 课文内容英译中 中英翻译
- 什么是迭代器(Iterator)
- android button 字母自动变大写的解决
- Oracle的表空间和sqlplus
- python爬虫抓收费图片_简单的抓取淘宝图片的Python爬虫
- og属性优化教程,什么是og标签
- 阿里云ECS服务器部署
- 算法练习14:leetcode习题871. Minimum Number of Refueling Stops
- 基于HMM的文本分词
热门文章
- linux系统安装pycharm的桌面图标快捷方式图标是空白的解决方案
- VSCode——SSH免密登录
- 【有利可图网】PS教程:PS设计打造海报中常见的中文特效艺术字
- 富文本编辑器 vue-quill-editor使用(新增,展示,修改,添加附件相关)
- python绘制漂亮的线_使用PyQtGraph进行Python数据可视化:绘制精美线图(以上证指数走势为例)...
- VC如何发布Release程序
- Unity3D学习笔记1——绘制一个三角形
- 微信公众号h5实现高德/百度/腾讯地图导航
- myquant量化怎样做日内回转交易?
- String中截取部分内容