2-7. 人物行走设定

目标

按住键盘上的 左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

标签:20240224_1047

posted @   hellozjf  阅读(60)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示