Session14:受伤效果Hurt

首先为人物添加一个hurt动画,然后添加过渡条件:

新增一个hurting参数,用于判断受伤状态

写代码:

 //切换动画效果void SwitchAnimation(){//正在跳跃if (animator.GetBool("jumping")){Debug.Log(rb.velocity.y);//y轴速度消失,开始下落if(rb.velocity.y <= 0){animator.SetBool("jumping", false);animator.SetBool("falling", true);}}else if (isHurt){animator.SetBool("hurting", true);if (Mathf.Abs(rb.velocity.x) < 0.2f){animator.SetBool("hurting", false);isHurt = false;}}else if (coll.IsTouchingLayers(ground)){animator.SetBool("falling", false);}}private void OnCollisionEnter2D(Collision2D collision){//碰到敌人时if (collision.gameObject.tag == "Enemy"){if (animator.GetBool("falling")){Destroy(collision.gameObject);}else if(transform.position.x < collision.gameObject.transform.position.x){isHurt = true;rb.velocity = new Vector2(-10, rb.velocity.y);}else if(transform.position.x > collision.gameObject.transform.position.x){isHurt = true;rb.velocity = new Vector2(10, rb.velocity.y);}}}

这样写了之后可能发现碰到敌人后人物并不会被弹开,这是因为movement在一直在执行,所以需要更改Movement的作用条件

 void Update(){if(!isHurt){Movement();}SwitchAnimation();}

isHurt是一个bool类型的变量,默认值为false,只有isHurt为false时人物才可以移动,当碰到敌人时,isHurt变为true,人物无法移动。

2D游戏入门——小狐狸系列(十四)添加人物受伤动画相关推荐

  1. 2D游戏入门——小狐狸系列(六)为人物添加动画

    Session06:动画效果Animation 添加动画效果 这节课我们来为人物添加动画效果 先为人物创建一个Animator组件,并创建一个Animator Controller,将它拖到Anima ...

  2. 2D游戏入门——小狐狸系列(十六)利用动画事件解决青蛙跳跃bug

    Session16:Animation Events动画事件 解决问题 首先有一个问题,就是人物从高处下落的时候不是falling动画,我们需要在 SwitchAnimation() 里添加以下语句 ...

  3. 2D游戏入门——小狐狸系列(二)处理素材

    这个课程源自b站Up主M_Studio,链接:https://space.bilibili.com/370283072 这个系列都是我自己的学习笔记,以供以后查看 Session01:安装软件& ...

  4. 2D游戏入门——小狐狸系列(十八)添加音效

    Session18:音效Audio 首先去素材商店下载,然后导入Unity. 添加bgm 为Player添加组件 Audio source,这里有一个小技巧: 左边这些蓝色的部分表示更改只应用于当前的 ...

  5. 2D游戏入门——小狐狸系列(二十)为人物添加下蹲动画

    Session20:趴下效果Crouch 这节课我们来为主角添加趴下的效果 添加新的Button 打开Project Setting -> Input Manager,我们发现Unity并没有内 ...

  6. 2D游戏入门——小狐狸系列(二十一)死亡检测场景切换

    Session21:场景控制SceneManager 这节课我们来为游戏添加场景控制的效果. 死亡检测 首先设置角色死亡的效果,这里看弹幕说有用y轴坐标判断的,好像也行,但感觉用trigger来检测确 ...

  7. 2D游戏入门——小狐狸系列(七)人物跳跃动画

    Session07:跳跃动画 LayerMask 添加动画.设置转换条件 这节课我们来为人物添加跳跃动画. 按照上节课的方法,添加jump和fall的动画到Player,然后回到Animator,添加 ...

  8. WPF入门教程系列十四——依赖属性(四)

    六.依赖属性回调.验证及强制值 我们通过下面的这幅图,简单介绍一下WPF属性系统对依赖属性操作的基本步骤: 借用一个常见的图例,介绍一下WPF属性系统对依赖属性操作的基本步骤: 第一步,确定Base ...

  9. Git使用 从入门到入土 收藏吃灰系列 (十四) 清除git仓库的所有提交记录

    文章目录 一.前言 二.清除git仓库的所有提交记录 本节速览 清除git仓库的所有提交记录 一.前言 参考安装Git 详细安装教程 参考视频B站 Git最新教程通俗易懂,这个有点长,感觉讲的精华不多 ...

最新文章

  1. 黯然微信小程序杂记(三):微信小程序实现倒计时功能 附讲解教学 附源码
  2. 放张载玻片就能放大一万倍,普通光学显微镜都馋哭了 | Nature子刊
  3. UA MATH564 概率不等式 QE练习题
  4. ubuntu9.10升级成功
  5. 网站转移到新服务器后显示乱码,请问在国内制作的英文网站放到国外的服务器后在国外打开怎么全是乱码?...
  6. C#使用linq查询大数据集的方法
  7. 中国古代天文星象学的入门书:《步天歌》
  8. Oracle入门(十四B)之PL/SQL异常处理
  9. Linux系统编程(四)信号
  10. 收藏功能_六款多功能榻榻米,装完你家会大一半!超实用,收藏
  11. android两个java文件内容_java – 在1个请求中将多个文件从Android上传...
  12. github的python代码怎么跑_如何利用Python模拟GitHub登录详解
  13. 《代码整洁之道》—第1章1.1节要有代码
  14. 中文文本分类:你需要了解的10项关键内容
  15. 单元格自适应宽度_Excel – 合并单元格时,如何同时保留每个单元格的内容?...
  16. 什么软件可以搜c语言的答案,跪求C语言答案
  17. 过程装备安装调试技术实训装置QY-GCKZ04
  18. 多个excel工作簿合并_EXCEL2016中如何快速合并多个工作簿中内容到一个工作表
  19. 做头条自媒体的利与弊,避免少走一些弯路
  20. Word入门教程之编辑脚注和尾注(转)

热门文章

  1. pe系统如何读取手机_常用的手机数据提取方法
  2. 操作系统-Operating-System第二章:启动、中断、异常和系统调用
  3. 如何破解mac版UltraEdit?
  4. 荣耀智慧屏x1和荣耀智慧屏区别
  5. UDP组播调试(使用TCPUDP调试工具)
  6. [ZT]森田学习体会
  7. java 父类访问子类_java中父类访问子类变量
  8. FairGUI 手指事件
  9. System.Data.SqlClient.SqlError: 因为数据库正在使用,所以无法获得对数据库的独占访问权。
  10. Linux进程互斥——生产者-消费者