unity 实现键盘控制物体移动和转向

来源:互联网 发布:网络连接受限 编辑:程序博客网 时间:2024/06/06 01:48

unity 的character controller不太好用,碰撞什么的不好操作,经常需要自己写人物移动的脚本,所以就记录一下。


这个脚本代码很简单,实现的是按下键盘上下方向键,人物前进后退,按下键盘左右方向键,人物向左或向右转弯。一般情况下使用一个胶囊体代表player,将脚本挂载在其上即可。

代码如下:


mainTransform.position = this.transform.position + new Vector3(0f, 3.1f, 0f);

if (Input.GetKey (KeyCode.LeftArrow)) {
            transform.Rotate (Vector3.up * -rotateSpeed * Time.deltaTime);
            mainTransform.Rotate (Vector3.up * -rotateSpeed * Time.deltaTime);
        }

        if (Input.GetKey (KeyCode.RightArrow)) {
            transform.Rotate (Vector3.up * rotateSpeed * Time.deltaTime);
            mainTransform.Rotate (Vector3.up * rotateSpeed * Time.deltaTime);
        }
        if (Input.GetKey (KeyCode.UpArrow)) {
            transform.Translate (Vector3.forward * moveSpeed * Time.deltaTime);
        }
        if (Input.GetKey (KeyCode.DownArrow)) {
            transform.Translate (Vector3.forward * -moveSpeed * Time.deltaTime);//小车控制时,前进后退movespeed前都有负号
        }


mainTransform指的是摄像机,如何不想摄像机作为player的子物体,又想摄像机跟随人物移动,就可以这么写,前面需要获取到摄像机物体,这里的代码中我没有写出来。

0 0