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

news/2024/12/28 20:16:49/文章来源:https://www.cnblogs.com/plusu/p/18634412

制作攻击计数器

给全部攻击动作应用帧事件

但是理想情况下应该是,短间隔时间内连续点击鼠标才能连击,加入连击计时器

编辑代码


修补“桶子”

解决攻击时移动的问题

解决冲刺时攻击的问题

解决无方向键输入时原地冲刺的问题

解决空中攻击无法掉落的问题

继承

“inheritance”(继承)是一个核心概念,特别是在面向对象编程(OOP)中。
继承是面向对象编程中的一种机制,它允许一个类(称为子类或派生类)继承另一个类(称为父类或基类)的属性和方法。通过继承,子类可以重用父类中已经定义的代码,从而避免重复编写相同的代码。

创建一个脚本Entity

将刚体模型和动画控制器写入该模型

将player脚本继承Entity

重写player中的start函数

将检测碰撞迁移进Entiyt中

player中继承一下

同理,重构反转功能


重构射线功能

在射线功能中,transform.position 代表了游戏对象在3D空间中的位置。这使得其他的人物(比如敌人)无法引用
因此声明一个新变量

修改代码

创建一个groundcheck

给player添加groundcheck

可以移动检查线了

把他移动到角色脚上,调整一下尺寸

加入敌人--骷髅

导入并切割资产,步骤参考笔记-2-

修改大小清晰度

给动画创建父体,并修改名字


修正中心点

添加刚体和碰撞器

修改碰撞器尺寸

编写代码

应用代码

发现可以代码中即使没写任何东西,也可以有信息继承

加入移动代码(简单移动,后续完善)

添加地面检测


冻结z轴

增加功能:如果前面没有路,就反转
修改一下地面检测位置,使其检测前面的路

修改代码

我们还要让他遇到墙返回,

增加墙

写射线代码


控制器应用射线

修改一下范围

但是当骷髅转向时,检测线不会随着转向

因此修改代码

添加墙壁检测代码


成功,但是player因为没有wallcheck出现了bug

2024.12.27问题没有被解决,二次修改,符号疏漏

修改代码

完成!!

敌人攻击

先让骷髅代码继承碰撞检测

标签代码


RaycastHit2D是一个用于存储射线投射(Raycasting)结果的结构体

检测代码

定义攻击变量

攻击指令

完善移动代码

射线工具代码

给玩家创建一个player层


设置骷髅的玩家检测

成功

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

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

相关文章

React 移动端框架

1. Material-UI Material-UI 组件是独立工作的。 它们是自我支持的,并只要注入而且仅注入它们需要显示的样式。 他们不依赖任何全局的样式表,如 normalize.css。Material-UI首先是移动开发的,我们首先为移动设备编写代码,然后根据需要使用CSS媒体查询扩展组件。 要确保所有…

hbuilder 调试跨域问题解决方案

放到 system.webServer 节点下 web.config<httpProtocol> <customHeaders> <add name="Access-Control-Allow-Origin" value="*" /> <add name="Access-Control-Allow-Headers" value="Content-Type" /> <…

Maven仓库配置

阿里云镜像仓库地址 仓库服务 (aliyun.com) 获取配置信息修改settings.xml配置文件1.配置阿里云镜像加速<mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>阿里云公共仓库</name> <url>https://maven.aliyun.com/rep…

【JS逆向】爬虫逆向知识点

一、逆向基础1.1 语法基础1.2 作用域1.3 窗口对象属性1.4 事件二、浏览器控制台2.1 Network2.1.1 Network-Headers2.2 Sources2.3 Application2.4 Console三、加密参数的定位方法3.1 巧用搜索3.2 堆栈调试3.3 控制台调试3.4 监听XHR3.5 事件监听3.6 添加代码片3.7 Hook四、常见…

timeago.js-将datetime时间转化为模糊时间的js工具库

timeago.js是一个非常简洁、轻量级、不到 2kb 的很简洁的Javascript库,用来将datetime时间转化成类似于*** 时间前的描述字符串,例如:“3小时前”。本地化支持,默认自带中文和英文语言,基本够用; 之前 xxx 时间前、xxx 时间后; 支持自动实时更新; 支持npm方式和浏览器s…

【日记】今天不是很忙(205 字)

正文一晃就快周五了。今天不是很忙,但也没做什么事情。无非就是原来塞满的工作时间节奏快了一些,现在慢了一些而已。我觉得我还是缺乏勇气。尤其是那种,在重大选择前做决策的勇气。也或许那个不叫勇气,叫做准备。每天的日记都会反省自己,但是依旧没什么进步呢。 成功日记:…

【启智社区】【大语言模型原理与实践】1.大语言模型的发展

大语言模型(Large Language Models,LLM)是一种由包含数百亿以上权重的深度神经网络构建的语言模型,使用自监督学习方法通过大量无标记文本进行训练。自2018年以来,包含Google、OpenAI、Meta、百度、华为等公司和研究机构都纷纷发布了包括BERT、GPT等在内多种模型,并在几乎…

简单实用的jQuery表单输入框浮动标签动画特效插件

phAnimate是一款简单实用的jquery表单输入框浮动标签动画特效插件。通过该插件,你可以非常轻松的为表单input元素添加浮动标签动画效果。在线预览 下载使用方法 在页面中引入jquery和phanimate.jquery.js文件。<script type="text/javascript" src="js/jqu…

FluentAssertions:C#单元测试断言库,让测试代码更加直观、易读!

推荐一个C#开源库,用于单元测试中的断言,它提供了一系列的扩展方法,使得单元测试的断言看起来更加自然流畅。 01 项目简介 FluentAssertions 是一个基于 .NET 的断言库,它提供了一种链式调用的方式来编写断言语句。支持框架.NET Framework 4.7、.NET Core 2.1、.NET Core 3…

记一次 .NET某工业视觉软件 崩溃分析

一:背景 1. 讲故事 前两天给训练营里的一位学员分析了一个dump,学员因为弄了一整天也没找到祸根,被我一下子弄出来了,极度想看看我是怎么分析的?由于在微信上不能一言两语表尽,干脆写一篇文章出来详细的讲讲吧,哈哈,训练营里的学员得有求必应哈。。。话不多说,我们一起…