unity连击的实现
来源:互联网 发布:成都到知美术馆 编辑:程序博客网 时间:2024/05/17 07:07
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,就这样一个轮回。
0 0
- unity连击的实现
- Unity简单的实现动画三连击脚本
- Unity人物三连击Animator实现
- unity(ACT)简单实现连击功能
- 安卓多连击事件的实现
- 使用Unity新版动画系统Animator实现三连击
- Unity 角色连击
- 豆瓣上连击的实现方法-盖楼达人必备
- 使用Mecanim实现连击(转载)+另外的方法
- 连击系统的飞鸽传书
- unity之关于角色三连击
- Unity3D 使用Mecanim实现连击
- 主角连击敌人处理:连击特效的显示---2
- 解决连击——按键防止连击的方法
- android中防止按钮连击的方法
- Unity换装的实现
- Unity 转盘的实现
- 主角连击敌人处理:连击次数的显示(图片数字字体)---1
- 排序数组构造AVL树
- recyclerview notifyItemRemoved报错
- DAY2学习视频笔记
- c中的%和/
- C# 中BindingSource 的用法
- unity连击的实现
- MySQL中的锁(表锁、行锁,共享锁,排它锁,间隙锁)
- ubuntu+kdevelop测试opengl
- 960网格系统
- 看淡一切
- 树-----求叶子结点数目,结点数目,树的高度
- 无法安装 Java 配置文件 C:\ProgramData\Oracle\Java\java.settings.cfg 在行 1 中格式
- 卸载 Go
- springmvc常用注解标签详解