制作攻击计数器
给全部攻击动作应用帧事件
但是理想情况下应该是,短间隔时间内连续点击鼠标才能连击,加入连击计时器
编辑代码
修补“桶子”
解决攻击时移动的问题
解决冲刺时攻击的问题
解决无方向键输入时原地冲刺的问题
解决空中攻击无法掉落的问题
继承
“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层
设置骷髅的玩家检测
成功