📅  最后修改于: 2023-12-03 15:20:52.213000             🧑  作者: Mango
Unity Player 移动脚本是用于在 Unity 3D 游戏引擎中控制游戏对象移动的 C# 脚本。使用这个脚本可以让你在游戏中创建一个可以被控制的角色,通过按键或触屏来控制角色的移动。
以下是一个示例代码实现,它演示了如何使用 Unity Player 移动脚本控制角色的移动:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerController : MonoBehaviour
{
public float speed = 10.0f; // 控制角色的移动速度
public float jumpHeight = 10.0f; // 控制角色的跳跃高度
private Rigidbody rb; // 角色刚体组件
// Start is called before the first frame update
void Start()
{
rb = GetComponent<Rigidbody>();
}
// Update is called once per frame
void Update()
{
Move();
Jump();
}
// 控制角色的移动
void Move()
{
float moveHorizontal = Input.GetAxis("Horizontal");
float moveVertical = Input.GetAxis("Vertical");
Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical);
rb.AddForce(movement * speed);
}
// 控制角色的跳跃
void Jump()
{
if (Input.GetKeyDown(KeyCode.Space))
{
Vector3 jump = new Vector3(0.0f, jumpHeight, 0.0f);
rb.AddForce(jump, ForceMode.Impulse);
}
}
}
在这个示例代码中,我们首先定义了两个公有变量 speed
和 jumpHeight
,它们分别用来控制角色的移动速度和跳跃高度。
public float speed = 10.0f; // 控制角色的移动速度
public float jumpHeight = 10.0f; // 控制角色的跳跃高度
接着,在 Start
方法中,我们获取了角色的刚体组件。这是因为我们在移动和跳跃时需要使用到角色的刚体组件。
void Start()
{
rb = GetComponent<Rigidbody>();
}
在 Update
方法中,我们调用了 Move
和 Jump
方法,这两个方法分别用来控制角色的移动和跳跃。
void Update()
{
Move();
Jump();
}
在 Move
方法中,我们使用了 Input.GetAxis
来获取用户按键的输入信息。我们需要调用 AddForce
方法来为角色施加一个力,力的方向是根据用户输入信息而定。
void Move()
{
float moveHorizontal = Input.GetAxis("Horizontal");
float moveVertical = Input.GetAxis("Vertical");
Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical);
rb.AddForce(movement * speed);
}
在 Jump
方法中,我们通过检测 KeyCode.Space
输入来控制角色的跳跃。如果检测到用户按下了空格键,我们就为角色施加一个上升的力,这个力的大小与我们设置的跳跃高度有关。
void Jump()
{
if (Input.GetKeyDown(KeyCode.Space))
{
Vector3 jump = new Vector3(0.0f, jumpHeight, 0.0f);
rb.AddForce(jump, ForceMode.Impulse);
}
}
以上就是关于 Unity Player 移动脚本的介绍和实现示例。Unity Player 移动脚本非常实用,它可以让你轻松地创建一个可以被控制的角色,并为游戏带来更好的交互体验。