尝试写入文件时出现 Unity 5 unityscript returns 错误

Unity 5 unityscript returns errors when trying to write to a file

我已经成功制作了一个关卡,其中包含地形、标准资产 -> 角色中的刚体 FPS 控制器和其他一些游戏对象。我现在需要保存我的系统,所以我开始为 UnityScript google 文件 IO。我找到了一些示例,但它们 return 编译器错误(详情如下)。

OS 是 Windows 10 64 位。 Unity 版本是 5.5.1f1 64 位。代码编辑器是 Visual Studio 2015,行尾更正为 Windows 行尾。语言是UnityScript。我用过的代码:

#pragma strict

import System;
import System.IO;

var Filename : String = "save.ini";
private var rwfile : StreamWriter;
var x;
var y;
var z;
var Player : GameObject;

private var startTime : int;
private var timer1 : int;

function TimerSet() {startTime = Time.time;}

function TimerUpdate() {
    timer1 = Time.time;
    if(timer1 > 60) {
        Debug.Log("Saving");
        Write();
        TimerSet();}}

function WriterSetup() {
    Debug.Log("File Writer setup...");
    if (!File.Exists(Filename)) {
        rwfile = File.CreateText(Filename);}
    Debug.Log("File Writer configured sucsessfully");}

function Write() {
    rwfile = File.CreateText(Filename);
    x = Player.transform.position.x;
    y = Player.transform.position.y;
    z = Player.transform.position.z;
    rwfile.WriteLine(x);
    rwfile.WriteLine(y);
    rwfile.WriteLine(z);
    rwfile.Close();}

function Start() {Debug.Log("Saver Script Setup");
    WriterSetup();
    TimerSet();}

function Update() {TimerUpdate();}

我的错误:

您的错误告诉您它不知道 OpenText 是什么。我在你的代码中没有看到任何关于名为 OpenText 的函数的信息,所以我猜你正在尝试使用 File.OpenText 函数,所以你应该更改这一行

rwfile = OpenText(Filename);

对此

rwfile = File.OpenText(Filename);

对于其他错误,您需要将 rwfile 分配给 StreamWriter

private var rwfile : StreamWriter;

您还应该为此更改 Write 函数:

function Write() {
    x = Player.transform.position.x;
    y = Player.transform.position.y;
    z = Player.transform.position.z;

    using (rwfile = File.CreateText(Filename))
    {
        rwfile.WriteLine(x);
        rwfile.WriteLine(y);
        rwfile.WriteLine(z);
        rwfile.Close();
    }
}