目标
按住键盘上的 左shift 键,或者手柄上的 左肩键 后,人物行动速度变为原来的 1/5,这样就能够强制走路了
配置 inputControl
实现相关代码
private void Awake()
{
// 获取 Player 上面的刚体组件
rb = GetComponent<Rigidbody2D>();
physicsCheck = GetComponent<PhysicsCheck>();
inputControl = new PlayerInputControl();
// 按下键盘上的空格键,或者手柄上的 EAST 键,就会触发 Jump 函数
inputControl.Gameplay.Jump.started += Jump;
#region 强制走路
runSpeed = speed;
walkSpeed = speed / 5;
// 一直键盘上的左shift键,或者手柄上的左肩键,就会让人物以 walkSpeed 走路,否则就会让人物以 runSpeed 跑步
inputControl.Gameplay.WalkButton.performed += ctx =>
{
if (physicsCheck.isGround)
{
speed = walkSpeed;
}
};
inputControl.Gameplay.WalkButton.canceled += ctx =>
{
if (physicsCheck.isGround)
{
speed = runSpeed;
}
};
#endregion
}
上面这段代码,先预先设定好走路的速度以及跑步的速度。当左shift或左肩键一直按着的时候,速度更改为走路速度;当左shift或左肩键松开的时候,速度更改为跑步速度
项目相关代码
代码仓库:https://gitee.com/nbda1121440/2DAdventure.git
标签:设定,人物,shift,行走,肩键,速度,speed,走路,inputControl From: https://www.cnblogs.com/hellozjf/p/18030859