¿Alguien puede ayudarme a dar los pasos necesarios para leer los datos del archivo de texto en unidad y cómo se puede agregar el script?
¿Alguien puede ayudarme a dar los pasos necesarios para leer los datos del archivo de texto en unidad y cómo se puede agregar el script?
Respuestas:
using System.IO;
void readTextFile(string file_path)
{
StreamReader inp_stm = new StreamReader(file_path);
while(!inp_stm.EndOfStream)
{
string inp_ln = inp_stm.ReadLine( );
// Do Something with the input.
}
inp_stm.Close( );
}
EDITAR: (Se corrigió un error en la línea 9; se cambió "stm.ReadLine ();" a "inp_stm.ReadLine ();")
Hay una clase llamada TextAssets que se usa para la lectura de archivos de texto. http://docs.unity3d.com/Manual/class-TextAsset.html Aquí puede encontrar el formato de archivo compatible.
Entonces, si desea leer el archivo de texto, el script sería así:
class YourClassName : MonoBehaviour{
public TextAsset textFile; // drop your file here in inspector
void Start(){
string text = textFile.text; //this is the content as string
byte[] byteText = textFile.bytes; //this is the content as byte array
}
}
o puede leer el texto como un recurso como este:
TextAsset text = Resources.Load("YourFilePath") as TextAsset;
TextAsset
en cuestión probablemente debería colocarse dentro de la Assets/Resources
carpeta. Esta es la respuesta más correcta ya que todas las otras respuestas parecen ignorar el hecho de que esto está dentro de la Unidad. Son formas correctas de leer un archivo en C # pero ignoran cosas como la implementación y rutas multiplataforma.
Este código está funcionando bien para que yo lea el contenido en el archivo de texto
import System.IO;
var filename="data.txt";
function Start () {
var sourse=new StreamReader(Application.dataPath+"/" + filename);
var fileContents=sourse.ReadToEnd();
sourse.Close();
var lines=fileContents.Split("\n"[0]);
for(line in lines) {
print(line);
}
}