前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Unity-黑暗之魂复刻-玩家输入输出

Unity-黑暗之魂复刻-玩家输入输出

作者头像
祝你万事顺利
发布2019-05-29 17:03:46
4250
发布2019-05-29 17:03:46
举报
文章被收录于专栏:Unity游戏开发
1.将键盘信号转换为游戏抽象信号

将键盘输入转换成Dup和Dright两个抽象信号,这两个信号的值在-1到1之间

代码语言:javascript
复制
    public string keyUp = "w";
    public string keyDown = "s";
    public string keyLeft = "a";
    public string keyRight = "d";

    public float Dup;//将虚拟按键转换成信号
    public float Dright;

    void Update()
    {
        Dup = (Input.GetKey(keyUp) ? 1.0f : 0) - (Input.GetKey(keyDown) ? 1.0f : 0);
        Dright = (Input.GetKey(keyRight) ? 1.0f : 0) - (Input.GetKey(keyLeft) ? 1.0f : 0);
    }
输入衰减和旗标(Flag)

使用Mathf中的SmoothDamp来平滑我们的两个信号值 引入新的变量

代码语言:javascript
复制
  public bool inputEnabled = true;
    private float targetDup;
    private float targetDright;

    private float velocityDup;
    private float velocityDright;

在信号值赋值的时候,我们采用平滑的结果

代码语言:javascript
复制
        targetDup = (Input.GetKey(keyUp) ? 1.0f : 0) - (Input.GetKey(keyDown) ? 1.0f : 0);
        targetDright = (Input.GetKey(keyRight) ? 1.0f : 0) - (Input.GetKey(keyLeft) ? 1.0f : 0);

        if(inputEnabled == false)
        {
            targetDup = 0;
            targetDright = 0;
        }

        Dup = Mathf.SmoothDamp(Dup, targetDup, ref velocityDup, 0.1f);
        Dright = Mathf.SmoothDamp(Dright, targetDright, ref velocityDright, 0.1f);

通过旗标(flag)我们来控制内部一些功能的启用,方便我们的控制。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.05.05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.将键盘信号转换为游戏抽象信号
  • 输入衰减和旗标(Flag)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档