在Unity中对于物体移动有多种方法,这里根据b站up主【鼓励Jun】的视频整理了一些笔记
变量声明:
位移向量var dir=new Vector3(deltax.deltay,deltaz);
移动速度var speed=2;
ps:变量声明都在主要都在方法外,实际位移操作则在Update方法中。
获取位移
#键盘输入,这里举一个只x轴上移动的例子,y轴同理
var xmove=Input.GetAxis(“Horizontal”);
dir=new Vector3(xmove,0,0)
var是隐式声明,也可以根据实际的改为Vector3、int什么的。
1、 直接改变物体位置。
1.1 在update方法中transform.position+=dir;
1.2 在update中transform.Translate(dir);
以上两种方式本质是一样的,translate实现的就是transform.position+=dir;
以上两种办法要考虑帧数不定的问题,所以位移向量dir要乘以速度speed再乘以Time.deltaTime();即
transform.Translate(dir*speed*Time.deltaTime());