using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
public class SavePS : MonoBehaviour
{
private string logFilePath = "positions.txt"; // 保存日志的文件路径
private TextWriter writer; // 用于写入文件的对象
void Start()
{
// 打开文件用于写入
writer = new StreamWriter(logFilePath);
writer.WriteLine("Time, X, Y, Z"); // 写入标题行
}
void Update()
{
// 获取当前时间戳(单位:秒)
float time = Time.time;
// 获取该GameObject的WorldPosition(在世界坐标系中的位置)
Vector3 position = transform.position;
// 格式化数据为字符串,并添加到日志中
string logEntry = $"{time}, {position.x}, {position.y}, {position.z}\n";
writer.WriteLine(logEntry); // 写入新的一行数据
}
void OnDestroy()
{
// 当脚本所在的对象被销毁时,关闭文件流并释放资源
if (writer != null)
{
writer.Close();
writer = null; // 确保资源被正确释放
}
}
}
以前这个代码有问题,相当于文件 一直在创建,只是后面把前面的覆盖了,最后就只保留了一个。