玩家移动脚本
RegisterObjectForTimeRecord方法在希望开始记录特定对象的时间状态时进行调用
UnregisterObjectForTimeRecord方法在不再需要记录特定对象的时间状态时被调用,没调用的话,上一次纪录的痕迹不会删除
using UnityEngine;
public class MOVE : MonoBehaviour
{
public float moveSpeed = 5f; // 移动速度
private bool isMove=false;
public TimeReturn timeReturn;//时间回溯脚本
void Update()
{
float h = Input.GetAxis("Horizontal"); // 获取水平输入
float v = Input.GetAxis("Vertical"); // 获取垂直输入
if (Mathf.Abs(h) > 0 || Mathf.Abs(v) > 0)
{
isMove = true;
Vector3 moveDirection = new Vector3(h, 0f, v).normalized; // 构造移动方向向量并归一化
transform.position += moveDirection * moveSpeed * Time.deltaTime; // 更新物体的位置
}
else
{
isMove = false;
}
if (isMove)
{
timeReturn.RecordTime()