Unity角色控制器和键盘输入

void Update()
{
    //创建一个Vector2对象position,用来获取当前对象的位置
    Vector2 position = transform.position;//此处的transform可认为是加载了该脚本的游戏对象的transform组件
    //更改position的x坐标值,让其加上0.1
    position.x = position.x + 0.1f;
    //更新当前对象的位置到新位置
    transform.position = position;
    
}以上代码可简单实现一个对象在x轴上移动

Vector2 二维向量
在数学中,Vector向量/矢量指的是带方向的线段

在Unity中,Transform值使用x表示水平位置,使用y表示垂直位置,使用z表示深度。这3个数值组成一个坐标。在2D游戏中,你无需储存z轴位置,因此你可以在此处使用Vector2来仅储存x和y位置。

Transform中position的类型,也是Vector2

C#这种强类型语言,赋值时,左右必须是同一类型才能进行

void Update()
    {
        //获取水平输入,按向左,会获得-1.0f;按向右,会获得1.0f;
        float horizontal = Input.GetAxis("Horizontal");
        //获取垂直输入,按向下,会获得-1.0f;按向上,会获得1.0f;
        float vertical = Input.GetAxis("Vertical");

        //获取对象当前位置
        Vector2 position = transform.position;
        //更改位置
        position.x = position.x + 0.1f*horizontal;
        position.y = position.y + 0.1f * vertical;
        //新位置给游戏对象
        transform.position = position;
    }以上代码可简单实现用“上下左右”或“wasd”控制人物

Unity默认Input Manager设置
在Unity项目设置中,可以通过Input Manager进行默认的游戏输入控制设置

Edit > Project Setting > Input

键盘按键,以2个键来定义轴:

~负值键negative button,被按下时将轴设置为-1

~正值键position button,被按下时将轴设置为1

Axis轴Axes是2它的负数形式

~Horizontal Axis:水平轴对应X轴

~Vertical Axis:纵轴对应Y轴
在此处可调整按键设置。
在此处可调整按键设置。

 void Update()
    {
      
        Vector2 position = transform.position;
        if(Input.GetKey("d"))
        {
            position.x = position.x + 0.1f;
        }
        if (Input.GetKey("a"))
        {
            position.x = position.x - 0.1f;
        }
        if (Input.GetKey("s"))
        {
            position.y = position.y - 0.1f;
        }
        if (Input.GetKey("w"))
        {
            position.y = position.y + 0.1f;
        }

    }以上代码可起到相同效果。
  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值