新建文件夹:Scripts 存放脚本
找到组件,添加脚本
1. Add Compoment
打开脚本编辑:
1. ⚙️/edit
2. 双击小方框
3. 双击文件
新建文件夹:Scripts 存放脚本
找到组件,添加脚本
1. Add Compoment
打开脚本编辑:
1. ⚙️/edit
2. 双击小方框
3. 双击文件
控制玩家移动
加载之后再操作
给player 加一个脚本
监听玩家输入的两个float 变量 水平轴 垂直轴
(字符串识别)
tarnsform 用translate 移动 x轴正方向/y轴正方向
h 返回值 1与-1 实现双向移动
定义速度 movespeed 初始值先定个3
(方向*速度*Time.deltaTime(按秒移动而不是按帧移动),Space.World(按世界坐标轴移动));
public float moveSpeed = 3;
float h = Input.GetAxisRaw("Horizontal");
transform.Translate(Vector3.right*h*moveSpeed*Time.deltaTime,Space.World);
float v = Input.GetAxisRaw("Vertical");
transform.Translate(Vector3.up*v*moveSpeed*Time.deltaTime,Space.World);
Scripts
public float moveSpeed = 3;
float h = Input.GetAxisRaw("Horizontal");
Vertical
public float moveSpeed = 3;
transform.Translate(Vector3.right*h*moveSpeed*Time.deltaTime,Space.World);
transform.Translate(Vector3.right*h*moveSpeed*Time.deltaTime,Space.World)
public float movespeed=3;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
float h = Input.GetAxisRaw("Horizontal");
transform.Translate(Vector3.right*h*movespeed*Time.deltaTime,Space.World );
float v = Input.GetAxisRaw("Vertical");
transform.Translate(Vector3.up*v*movespeed*Time.deltaTime ,Space.World);
horizontal
Vector3.right(x)/up(y)/forward(z)
控制玩家移动,
获得轴上的值。
GetAxisRaw
配合 transform.Translate.没有物理效果就用这个。
方向, 坐标轴(世界)
Scripts:存放脚本
GetAxis()与GetAxisRow();相似
Time.deltaTime:按照每秒移动
Space.World:世界坐标轴;
float h=Input.GetAxisRow("Horizontal")
transform.Translate(Vector3.Right*h )
//h返回值1到-1的float类型的小数;
float v=Input.GetAxisRow("Vertical")
transform.Translate(Vector3.up*h)
public float moveSpeed=3;
Input.GetAxisRaw("Horizantal");
transform.Translate(Vector3.right*h*moveSpeed*Time.deltaTime,Space.World);
Input,GetAxisRaw("Vertical");
transform.Translate(Vector3.right*v*moveSpeed*Time.deltaTime,Space.World);
float h=input.getAxisRaw("Hirzontal");
//水平轴输入
float v=input.GetAxisRaw("Vertical");
//垂直轴输入
transform.Translate(vector3.right*h*Player_Movespeed*Time.delteTime,Space.World);
transform.Translate(Vector3.up*v*player_MoveSpeed,Space.World);
监听输入方向:input.getaxisraw("水平轴or垂直轴")
预设初速speed;
x轴:vector3.right
y轴:vector3.up
float h = Input.GetAxis("Horizontal");
transform.Translate(Vector3.right * h * moveSpeed * Time.deltaTime, Space.World);
//三维向量,方向×按键输入×移动速度×按时间运动(每秒10米而不是每桢10米),空间为整个空间。
float v = Input.GetAxis("Vertical");
transform.Translate(Vector3.up * v * moveSpeed * Time.deltaTime, Space.World);
//三维向量,方向×按键输入×移动速度×按时间运动,空间为整个空间。
public float moveSpeed = 3; //移动速度
transform.Translate(Vector3.right(横向X)*h(获取键盘方向)*moveSpeed(移动速度)*Time.deltaTime(帧率),Space.World(按照世界方向轴移动));
transform.Translate(Vector3(纵向Y).up*v(获取键盘方向)*moveSpeed*Time.deltaTime(帧率),Space.World(按照世界方向轴移动));
public float movespeed=3;
float h=Input.getaxisraw( "horzontal");
transfom.translate(vector3.right*h*movespeed*time.deltatime,space.world);
float v=Input.getaxisraw( "vertical");
transform.translate(vector3.up*v*movespeed*time.deltatime,space.world);
移动代码:
void Update(){
float h=Input.GetAxisRaw("Horizontal");
transform.Translate(Vector3.right*h*moveSpeed*Time.deltaTime,Space.World);
float v=Input.GetAxisRaw("Vertical");
transform.Translate(Vector3.up*v*movespeed*Time.deltaTime,Space.World);
}
PlayerMove Script:
publix float moveSpeed=3;//定义速度
void Start(){
}
void Update(){
float h = Input.GetAxisRam("Horizontal");
transform.Translate(Vector3.right*h*moveSpeed*Time.deltaTime,Space.World);
float v = Input.GetAxisRam("Vertical");
transform.Translate(Vector3.up*v*moveSpeed*Time.deltaTime,Space.World);
}
Input.GetAxisRaw("Hrizantal")和Inpit.GetAxis("Hrizantal")他们没有区别