#unity3d #.net #unityscript
#unity3d #.net #unityscript
Вопрос:
У меня здесь есть функция, которая хранит координаты фрагмента. Кажется, все в порядке, но консоль выдает мне эту ошибку:
BCE0019: 'WriteLine' is not a member of 'System.IO.StreamReader'
Если у вас есть какие-либо идеи, как это исправить, я очень признателен.
function writeChunks(fileName : String, xco : int, yco : int, zco : int) {
var sr = System.IO.File.OpenText(fileName);
sr.WriteLine("Chunk ("
xco ", "
yco ", "
zco ")");
sr.Close();
}
ОБНОВЛЕНИЕ 1
Этот код:
function writeChunks(fileName : String, xco : int, yco : int, zco : int) {
var sr = System.IO.File.OpenText(fileName);
System.IO.File.WriteAllText("C:/youfilename.txt", "Chunk ("
xco ", "
yco ", "
zco ")");
sr.Close();
}
Выдает мне эту ошибку:
DirectoryNotFoundException: Could not find a part of the path "C:Reactor Gameschunks.txt".
System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) (at /Users/builduser/buildslave/monoAndRuntimeClassLibs/build/mcs/class/corlib/System.IO/FileStream.cs:292)
System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share)
(wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)
System.IO.StreamWriter..ctor (System.String path, Boolean append, System.Text.Encoding encoding, Int32 bufferSize) (at /Users/builduser/buildslave/monoAndRuntimeClassLibs/build/mcs/class/corlib/System.IO/StreamWriter.cs:124)
System.IO.StreamWriter..ctor (System.String path, Boolean append)
(wrapper remoting-invoke-with-check) System.IO.StreamWriter:.ctor (string,bool)
System.IO.File.CreateText (System.String path) (at /Users/builduser/buildslave/monoAndRuntimeClassLibs/build/mcs/class/corlib/System.IO/File.cs:159)
infiniteTerrain $saveLoadedChunk$5 $.MoveNext () (at Assets/Script/infiniteTerrain.js:61)
ОБНОВЛЕНИЕ 2
Этот код:
function writeChunks(fileName : String, xco : int, yco : int, zco : int) {
var sw = new StreamWriter("fileName");
sw.WriteLine("Chunk ("
xco ", "
yco ", "
zco ")");
sw.Close();
}
Выдает мне эту ошибку:
BCE0005: Unknown identifier: 'StreamWriter'.
Комментарии:
1. Пока ничего, я понятия не имею, что это может быть : (
2. Поддержал ваш вопрос, хотя.. чтобы больше людей увидели это 🙂
3. Я бы протестировал и попробовал устранить проблему, но не смогу использовать библиотеку Unity 3d до 8:00. Проголосовал, хотя и как полезный
4. Исключение @user3722399 DirectoryNotFoundException означает, что вам нужен этот каталог. Создайте каталог под названием Reactor Games.
5. Обратите внимание, что UnityScript отличается от Javascript. wiki.unity3d.com/index.php?title=UnityScript_versus_JavaScript
Ответ №1:
Если вы можете добавить класс C # для вашего удобства, а затем просто вызвать это. Но, похоже, вы также можете использовать это с JavaScript:
Также убедитесь, что ваш каталог существует:
System.IO.File.WriteAllText(filepathIncludingFileName, "Chunk ("
xco ", "
yco ", "
zco ")");
Я также проверил другие места, где некоторые люди упоминают, что вы можете просто использовать класс StreamWriter в части JavaScript:
var sw : StreamWriter = new StreamWriter(filepathIncludingFileName);
sw.WriteLine("Line to write");
sw.WriteLine("Another Line");
sw.Flush();
sw.Close();
К сожалению, я не смог найти эту информацию в документации Unity3D scripting API. Вы должны использовать это с осторожностью.
Комментарии:
1. Исключение DirectoryNotFoundException: не удалось найти часть пути «C:Reactor Gameschunks.txt «.
2. Это выдает ошибку, которая не вписывается в этот комментарий, я опубликую ее в своем первоначальном сообщении