【unity】学习制作类银河恶魔城游戏-6-

news/2025/1/8 0:57:44/文章来源:https://www.cnblogs.com/plusu/p/18646575

碰撞检查

控制面板定义变量

射线功能

创建射线实体

分配射线实体

调整射线

编辑碰撞代码

创建地面和墙面的层

判断是否碰撞到了地面

这行代码的作用是:从groundCheck的位置开始,向下(Vector2.down)投射一条射线,距离为groundCheckDistance,只检测whatIsGround指定的层上的物体。如果在这条射线上检测到了任何物体,则认为检测到了地面,方法返回true;否则,返回false。

修改GroundState

修改AirState

创建层

应用层

设置什么是地面/墙面

增加反转功能,使其左右移动时能够改变方向

定义反转变量

定义反转函数

定义何时反转?

应用控制反转函数

这种函数不应该一直被更新调用,因此做出修改,当有输入时调用函数

冲刺和冲刺时间

创建冲刺脚本PlayerDashState,快速生成函数和继承

定义冲刺变量

冲刺状态转换

设置冲刺动画

编辑冲刺状态代码

定时器更新代码

定义冲刺速度和持续时间

修改冲刺状态代码

升级冲刺

让冲刺不局限于只能在地面时才可以

删除在地面状态时的冲刺输入代码

在player中编译新的判定代码

调用CheckforDashInput

成功!现在在空中也可以冲刺了,但是,如果在向右移动时,突然按下左方向键和冲刺,那人物冲刺大概率无法反应过来导致还会向右冲刺,亦或者当我们跳起来时会有硬直,此时无法反向移动,只能向前冲刺,灵活性大大降低
因此我们要进行更严格的控制,定义一个冲刺的方向,让其与键盘输入方向同时变化

修改dash代码

给dashdir赋值

当没有键盘输入时,还是按照面朝方向进行冲刺

另一个存在的问题:当在空中冲刺后,人物下降时未播放降落动画而是播放静止动画

增加一条判断语句

冲刺冷却时间

给冲刺加入cd使人物不能一直冲刺
定义计时器和cd

cd功能

完成

空中移动


墙壁摩檫力

解决人物贴住墙壁就会黏住不动 的问题
创建材料,摩檫力改为0

给墙壁应用材料

人物墙壁状态

创建脚本

在Player中声明状态变量

创建动画

完善状态树

其他需要修改的地方同理
编辑代码
墙面判断

状态进入代码,应在AirState中编写,在地面碰到墙时不会触发

墙壁状态代码

在墙壁代码中涉及了竖直方向上的变化
因此在PLayerState中引用yInput

调整WallCheck检测线,确保能够正常墙壁检测(应使其在碰撞模型的边缘)

完成!

另外发现一个问题,当人物朝向左和朝向右时,WallCheck的射线与碰撞器的位置不同,这使得在进行爬墙的动画上位置会有出入


这是图片人物的中心点造成的,修改中心点

完成!!现在左右两边贴墙都不错

在墙上的跳跃

创建脚本

防止打断操作设置一个计时器

声明状态变量并实例化

让他可以跳起来

进入WallJump状态,从WallSlideState中进入

修改一下小问题

现在,当人物落地时,还会有一个滑行的速度
这是因为未退出跳墙状态,且还有跳墙状态的加速度

转换到静止状态代码

并且把加速度调为零

另外,当冲刺到墙上时,人物会优先完成冲刺再上墙,而不是打断冲刺直接上墙

修改一下dashState状态代码

完成!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/863520.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

直播预告丨社区年度交流会 《RTE 和 AI 融合生态洞察报告 2024》发布

新的一年开始,是时候再深度交流一次了!欢迎关注 1 月 4 日周六晚 社区年度交流会的 线上直播 。这将是一群 实时多模态 AI 开发者 的聚会。我们将一起探讨 Voice Agent 在 AI 陪伴助手、AI 硬件和 AI 企业服务等应用场景中的技术突破与产品创新。同时,我们也会交流 RTE 开发…

从 LB Ingress 到 ZTM:集群服务暴露新思路

12 月 28 日, KubeSphere 社区联合 Higress 社区主办的云原生 AI Meetup 广州站成功召开,我们非常荣幸邀请到CNCF Ambassador、Flomesh 社区布道师——张晓辉老师,张老师为大家带来了一场主题为「从 LB Ingress 到 ZTM:集群服务暴露新思路」的主精彩分享。以下为演讲实录,…

CH32V203F6P6-TSSOP20测试之03---三种烧录方式

CH32V203F6P6-TSSOP20支持三种下载方式:USB下载、串口下载(用串口2即8脚PA2为TX2接下载的RX,9脚PA3为RX2接下载的TX)和SW二线下载。CH32V203F6P6-TSSOP20的BOOT1内置接GND,而BOOT0外露,用户可以选择两种启动模式,因而支持USB下载和串口下载。接法可以选择下面两种方法的…

第二章 BIOS -- MBR

本文是对《操作系统真相还原第二章》学习的笔记,欢迎大家一起交流。第二章 BIOS --> MBR 本文是对《操作系统真象还原》第二章学习的笔记,欢迎大家一起交流。 第一棒 BIOS 首先我们要先明白计算机的启动过程,在 x86 模式下,开机的一瞬间,cpu 的 cs:ip 寄存器被强制初始…

Office Tool Plus v10 - Microsoft office安装使用激活一条龙

下载Office Tool Plus Office Tool Plus是一款相当牛逼的office安装工具,并且安装完了顺带激活,也可以很快捷的卸载office清除激活信息等等。 👉👉点击下载 Office Tool Plus移除老的office安装office 点击页面菜单-部署在产品这栏添加需要的产品.进行下载安装,等待即可…

a16z:小模型 + 边缘 AI 将定义 2025;音效模型 TangoFlux:3 秒钟生成 30 秒音频丨RTE 开发者日报

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文章 」、「有看点的 会议 」,但内容仅代表编辑…

mqtt应用问题

1、mqtt程序主动断开后,无法再次收到消息 解决办法:方法一、在emqx服务端中主动踢除客户端方法二、代码里 面将session设置为true,每次断开会清除会话2、正在进行过多的发布(32202)解决办法:方法一、默认支持一次新发送10条消息,最大是1000,可以设置//options.setMaxInfl…

打靶记录24——Presidential

靶机: https://www.vulnhub.com/entry/presidential-1,500/ 下载(镜像):https://download.vulnhub.com/presidential/Presidential.ova 难度:中目标:获得 Root 权限 + 2 Flag攻击方法:主机发现 端口扫描 信息收集 备份文件 子域名爆破 phpmyadmin 密码爆破 本地文件包含…

继续聊一聊sqlsugar的一个机制问题

几个月前换了新工作,从技术负责人的岗位上下来,继续回归码农写代码,在新公司中,我不是技术负责人,没太多的话语权。 公司这边项目统一都是使用了SqlSguar这个orm,我也跟着使用了几个月,期间碰见了不少奇奇怪怪的问题,甚至之前特意写文章“骂”过,但是今天要聊的这个问…

高性能MySQL(第4版)PDF、EPUB免费下载

领域经典十年后全版更新||全面拥抱8.0||重磅剖析现代云数据库与大规模运维实践||中国首批DBA精琢翻译5大头部国产数据库创始人联合力荐适读人群 :不但适合数据库管理员(DBA)阅读,也适合开发人员参考学习。不管是数据库新手还是专家,相信都能从本书有所收获 领域经典十年后…

【校长系列】2022版高中信息技术课程标准详细解读(PPT课件)

【校长系列】2022版高中信息技术课程标准详细解读(PPT课件)新课标解读

采集DNP3 转 profinet IO项目案例

VFBOX协议转换网关支持PLC,modbus,EthernetIP,Profinet,CCLink,EtherCAT,IEC61850,IEC104,bacnet,DLT645,HJ212,opc ua,opc da,DNP3。目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 4 配置网关采集DNP3协议数据 2 5 用PROFINET IO协议转发数据 4 6 案例总…