【unity】学习制作类银河恶魔城游戏-4-
制作攻击计数器

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

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

编辑代码


修补“桶子”
解决攻击时移动的问题

解决冲刺时攻击的问题

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

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

继承
“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层


设置骷髅的玩家检测

成功


浙公网安备 33010602011771号