PlayerMovementConfigSO.cs

新增 WallHangSpeed = 1f:正常抓墙(低于等于 wallGrabY,可蹬墙跳区间)的缓慢下滑速度
WallSlideSpeed 语义调整为:受限模式(高于 wallGrabY)的较快下滑速度
PlayerMovement.cs

ApplyWallSlide() 改为 ApplyWallSlide(float speed),由调用方传入对应速度
WallSlideState.cs

OnStateFixedUpdate:正常模式用 WallHangSpeed,受限模式用 WallSlideSpeed(两档清晰分离)
恢复反方向键脱离:脱离时同样调用 StartWallCoyote,wall coyote 窗口内仍能触发蹬墙跳
更新类头注释完整描述脱离方式和下滑速度档位Two wall slide improvements:
This commit is contained in:
2026-05-21 15:58:46 +08:00
parent 20b207ed58
commit fcd3e2dcdd
6 changed files with 106 additions and 26 deletions

View File

@@ -17,8 +17,14 @@ namespace BaseGames.Editor
/// · PlayerHitBox ↔ EnemyHurtBox → 应碰撞(玩家攻击伤害敌人)
/// · EnemyHitBox ↔ PlayerHurtBox → 应碰撞(敌人攻击伤害玩家)
/// · EnemyHitBox ↔ EnemyHurtBox → 应碰撞敌人可互相伤害HitBox 运行时排除自身根节点)
/// · Player ↔ Platform → 应碰撞(玩家站在平台上)
/// · Enemy ↔ Platform → 应碰撞(敌人站在平台上)
/// · Player ↔ Platform → 应碰撞(玩家站在实体平台上)
/// · PlayerOneWayPlatform → 应碰撞(玩家站在单向平台上)
/// · Player ↔ MovingOneWayPlatform → 应碰撞(玩家站在移动单向平台上)
/// · Player ↔ MidHeightOneWayPlatform → 应碰撞(玩家站在半高单向平台上)
/// · Enemy ↔ Platform → 应碰撞(敌人站在实体平台上)
/// · Enemy ↔ OneWayPlatform → 应碰撞(敌人站在单向平台上)
/// · Enemy ↔ MovingOneWayPlatform → 应碰撞(敌人站在移动单向平台上)
/// · Enemy ↔ MidHeightOneWayPlatform → 应碰撞(敌人站在半高单向平台上)
/// · PlayerProjectile ↔ EnemyHurtBox → 应碰撞(玩家投射物伤害敌人)
/// · PlayerProjectile ↔ PlayerHurtBox → 应忽略(玩家投射物不自伤)
/// · PlayerProjectile ↔ Platform → 应碰撞(玩家投射物命中地形)
@@ -41,8 +47,14 @@ namespace BaseGames.Editor
new("PlayerHitBox", "EnemyHurtBox", true, "玩家攻击伤害敌人"),
new("EnemyHitBox", "PlayerHurtBox", true, "敌人攻击伤害玩家"),
new("EnemyHitBox", "EnemyHurtBox", true, "敌人可互相伤害HitBox 运行时排除自身根节点)"),
new("Player", "Platform", true, "玩家站在平台上"),
new("Enemy", "Platform", true, "敌人站在平台上"),
new("Player", "Platform", true, "玩家站在实体平台上"),
new("Player", "OneWayPlatform", true, "玩家站在单向平台上PlatformEffector2D 控制单向穿透)"),
new("Player", "MovingOneWayPlatform", true, "玩家站在移动单向平台上"),
new("Player", "MidHeightOneWayPlatform", true, "玩家站在半高单向平台上"),
new("Enemy", "Platform", true, "敌人站在实体平台上"),
new("Enemy", "OneWayPlatform", true, "敌人站在单向平台上"),
new("Enemy", "MovingOneWayPlatform", true, "敌人站在移动单向平台上"),
new("Enemy", "MidHeightOneWayPlatform", true, "敌人站在半高单向平台上"),
new("PlayerProjectile", "EnemyHurtBox", true, "玩家投射物伤害敌人"),
new("PlayerProjectile", "PlayerHurtBox", false, "玩家投射物不自伤"),
new("PlayerProjectile", "Platform", true, "玩家投射物命中地形"),