1.移动方式键盘上下左右。
使用方法:直接创建C#脚本复制代码,拖到角色上就可以用了。全挂在角色上。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class move : MonoBehaviour
{
public float speed;//外挂速度
void Start()
{
speed = 5f; //定义速度等于5f
}
// Update is called once per frame
void Update()
{
float vertical = Input.GetAxis("Vertical");
float horizontal = Input.GetAxis("Horizontal");
transform.Translate(new Vector3(horizontal, 0, vertical) * Time.deltaTime * speed);
}
}
2.移动加鼠标不过镜头会卡代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class 移动脚本 : MonoBehaviour
{ //这个是镜头转动代码(用鼠标)
//使用方法:1.该脚本挂在player上面/ 2.fist camera就挂camere就行了 3.isclock一般不点击
public float moveSpeed = 5.0f; //转动的速度
public GameObject FirstCamera;
// Use this for initialization
public bool IsClock; //出引是否限制角度
void Start()
{
IsClock = false; //初始定义为不开启限制
}
// Update is called once per frame
void Update()
{
if (IsClock)
{
}
else
{
// 获得鼠标当前位置的X和Y
float mouseX = Input.GetAxis("Mouse X") * moveSpeed;
float mouseY = Input.GetAxis("Mouse Y") * moveSpeed;
Cursor.visible = false;
Cursor.lockState = CursorLockMode.Confined;
// 鼠标在Y轴上的移动号转为摄像机的上下运动,即是绕着X轴反向旋转
FirstCamera.transform.localRotation = FirstCamera.transform.localRotation * Quaternion.Euler(-mouseY, 0, 0);//镜头
// 鼠标在X轴上的移动转为主角左右的移动,同时带动其子物体摄像机的左右移动
transform.localRotation = transform.localRotation * Quaternion.Euler(0, mouseX, 0);//物体的转动
}
}
}