首页 > 其他分享 >2-9. 实现人物下蹲逻辑和动画

2-9. 实现人物下蹲逻辑和动画

时间:2024-02-24 12:33:17浏览次数:21  
标签:动画 逻辑 人物 isCrouch 状态机 blueCrouchStart 偏移 blueCrouchIdle

动画片段

做成动画片段,命名为 blueCrouchStart 和 blueCrouchIdle

动画状态机

这里我们再接触一个新的东西,Sub-State Machine,可以通过右键 Create Sub-State Machine 来实现

点开 Crouch ,把之前创建好的 blueCrouchStart 和 blueCrouchIdle 片段加进来

另外添加一个变量,isCrouch

当 isCrouch 为 true 的时候,从 blueIdle 切换到 Crouch

当 blueCrouchStart 完整播放完一帧之后,从 blueCrouchStart 切换到 blueCrouchIdle

当 isCrouch 为 false 的时候,从 blueCrouchIdle 切换到 Exit

代码控制动画状态机

首先我们需要获取下蹲的按钮是否按下,下蹲监听的是键盘的下键,所以我们只需要判断 inputDirection.y 是否 < -0.5f 就行了

然后在 PlayerAnimation 里面获取 isCrouch 并设置到动画状态机里面

下蹲时修改碰撞体大小

PlayerController 在第一次执行的时候,要获取原始碰撞体,以及碰撞体的大小和偏移

然后在下蹲的时候,修改大小和偏移。在取消下蹲的时候,还原大小和偏移

禁用下蹲时移动

在修改速度前,判断一下当前是否是下蹲状态。如果不是下蹲状态,才能进行修改速度(也就是才能够移动)

项目相关代码

代码仓库:https://gitee.com/nbda1121440/2DAdventure.git

标签:20240224_1216

标签:动画,逻辑,人物,isCrouch,状态机,blueCrouchStart,偏移,blueCrouchIdle
From: https://www.cnblogs.com/hellozjf/p/18030947

相关文章

  • 2-8. 创建人物跳跃动画
    人物跳跃的五个阶段根据这张图把图片切好,并做好动画状态使用BlendTree实现跳跃动画在动画状态机中新建一个BlendTree,然后给它添加三个Motion因为我设置的JumpForce是5,所以人物速度54时候是起跳阶段,41的时候是上升阶段,1~-1的时候是空中换腿阶段,-1以后是下降阶段。虽然......
  • 2-7. 人物行走设定
    目标按住键盘上的左shift键,或者手柄上的左肩键后,人物行动速度变为原来的1/5,这样就能够强制走路了配置inputControl实现相关代码privatevoidAwake(){//获取Player上面的刚体组件rb=GetComponent<Rigidbody2D>();physicsChec......
  • 2-6. 创建人物基本动画
    给帧图片命名添加动画首先需要给Player添加Animator组件然后创建Animations/Player文件夹,并在该文件夹下面添加AnimatorController,起名叫Player然后把Player拖到Animator的Controller上面打开动画状态机Window->Animation->Animator创建Idle动......
  • css 动画
    <divclass="quan-box">逐渐放大消失<div>  /*申明一个div的class用于执行动画*/.quan-box{opacity:0;background:#70D97C;position:absolute;//3秒执行完成quan动画,infinite动画会无限次重复播放,steps(40)表示将整个动画过程分割成40个......
  • three-第三方动画库-让物体动起来更简单(gsap)
    gsap介绍:GreenSockAnimationPlatform(GSAP)是一个业界知名的动画库,它被1100多万个网站使用,有超过50%的获奖的网站都是用了它。不管是在原生环境中,还是任意的框架中,你可以使用GSAP去让非常多的东西动起来。不管你是想要去让UI界面产生交互动画,还是SVG图形产生动画,甚至是Three......
  • 2-1. 设置人物及基本组件
    添加刚体在Rigidbody2D上面有GravityScale,这表示人物收到的重力比例是1。重力参数可以通过ProjectSettings->Physics2D,找到Gravity的系数。此外物理更新的FixedUpdate函数会进入,就是因为SimulationMode设置了FixedUpdate另外记得把人物的刚体限制给锁定......
  • R语言逻辑回归(Logistic Regression)、回归决策树、随机森林信用卡违约分析信贷数据集
    原文链接:http://tecdat.cn/?p=23344最近我们被客户要求撰写关于信用卡违约分析的研究报告,包括一些图形和统计输出。本文中我们介绍了决策树和随机森林的概念,并在R语言中用逻辑回归、回归决策树、随机森林进行信用卡违约数据分析决策树是由节点和分支组成的简单树状结构。根据每......
  • 解密C语言选择结构:掌握条件语句与分支逻辑的利器
    ✨✨欢迎大家来到贝蒂大讲堂✨✨......
  • 迪文屏TA指令开发_开机动画
    迪文屏TA指令开发_开机动画1.新建项目新建一个空白文件夹,点击新建工程之后选择新建文件夹地址即可创建完成之后,文件夹结构如下:2.导入背景图片素材说是设置开机动画,实际上是通过多个背景图片的连续播放实现的动画效果点击加号键,可以直接选中所有的背景图片素材进行一键导......
  • java运算符(赋值,关系,逻辑,三目,位运算)
    赋值运算符赋值运算符:=+=-=*=/=%=publicclassFuZhiOptDemo{publicstaticvoidmain(Strng[]args){inta1=3;a1+=2;System.out.println("a1:"+a1);a1-=2;System.out.println("a1:"+a1);......