update方法每秒调用60次
0.1f * 60 相当于每秒移6米
想每秒移动0.1米,就乘以Time.deltaTime
update方法每秒调用60次
0.1f * 60 相当于每秒移6米
想每秒移动0.1米,就乘以Time.deltaTime
float horizontal = Input.GetAxis("Horizontal");
float vertical = Input.GetAxis("Vertical");
Vector2 position = transform.position;
position.x = position.x + 0.01f * horizontal;
position.y = position.y + 0.01f * vertical;
transform.position = position;
人物移动源代码
(Vertical垂直轴向 Y轴) - Negative Button(向上移动),Positive Button(向下移动) 每秒执行一次的方法 position.x = position.x + 0.1f * vertical * Time.deltaTime
控制玩家移动的两个参数
Horizontal
vertical
float horizontal = Input.GetAxis("Horizontal");左右
float vertical = Input.GetAxis("Vertical");上下
position.x = position.x + 0.1f*horizontal;
position.y = position.y + 0.1F * vertical;
重新看一遍,理解错了哈哈哈哈哈哈哈哈哈get对角线移动
人物移动
使用Input.GetAxis()移动游戏对象
void Update()
{
// 获取水平和垂直输入值
float horizontal = Input.GetAxis("Horizontal");
float vertical = Input.GetAxis("Vertical");
// 获取游戏对象的当前位置
Vector2 position = transform.position;
// 使用输入值来修改位置
position.x = position.x + 2.5f * horizontal * Time.deltaTime;
position.y = position.y + 2.5f * vertical * Time.deltaTime;
// 将新的位置应用到游戏对象
transform.position = position;
}
获取输入值
float horizontal = Input.GetAxis("Horizontal");
float vertical = Input.GetAxis("Vertical");
- 这两行代码用于获取水平和垂直输入值。`Input.GetAxis()` 方法用于获取输入轴的值,根据传入的参数来选择特定的输入轴。在这里,我们分别获取了水平和垂直方向上的输入值。
修改位置
position.x = position.x + 2.5f * horizontal * Time.deltaTime;
position.y = position.y + 2.5f * vertical * Time.deltaTime;
- 这两行代码使用获取到的输入值来修改游戏对象的位置。水平输入值(`horizontal`)用于控制水平移动,垂直输入值(`vertical`)用于控制垂直移动。
- 乘以 `2.5f` 用于调整移动速度。你可以根据需要调整此值来控制移动速度。
- `Time.deltaTime` 用于考虑到每帧的时间间隔,以使移动操作平滑,不受帧率的影响。
Input.GetAxis()的参数是Input Manager里面的