Einheit text Laden von Ressourcen
Ich bin in der Lage, ändern Sie den text von einem UILabel
(genannt über) mit den folgenden:
using UnityEngine;
using System.Collections;
public class about : MonoBehaviour
{
void Start ()
{
UILabel lbl = GetComponent<UILabel>();
lbl.text = "Hello World!";
}
}
Aber die Dinge schief gehen, wenn ich möchte, zum laden der label-text aus einer text-Datei in die Ressourcen (Assets/Resources/about.txt
)
lbl.text = Resources.Load(Application.dataPath + "/Resources/about") as String
So, ich bin mir nicht sicher, wohin ich gehe falsch, und ja ich habe mir hier.
Warten Sie, wenn Sie sagen, Sie ändern "UILabel", meinst du damit eine tatsächliche UILabel in Xcode, wie eine iOS-API-UILabel? Oder sind Sie nur mit dem Begriff "UILabel" bezieht sich auf ein Label in der Einheit? Ich Frage, weil UILabel ist die API-Namen für die labels in iOS, und wenn Sie den Zugriff auf die iOS-API von Unity code, dass wäre eine ziemlich beeindruckende Leistung....
InformationsquelleAutor Ghoul Fool | 2014-02-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie einfach diese:
und Sie können die
txt
string zu erfüllen Ihre Anforderung, so stellen Sie sicher, dassMyText.txt
ist inAssets > Resource
InformationsquelleAutor Pramod
Haben Sie versucht, eine von diesen:
Hier
"MyTexts/text"
ist der name der Anlage, die tatsächlichen refere die Dateitext.txt
.Asset gesetzt werden sollte, innerhalb der Ordner "Assets" auf diese Weise:
Auf dem Dateisystem haben Sie:
Nicht verwenden
Application.dataPath
oder so etwas, die Sie laden, eine statisch gelinkte Ressource aus dem binären asset-Datei.Den geladenen
mydata
ist binäre. VerwendenEncoding.ASCII.GetString(mydata.bytes)
um eine tatsächliche Zeichenfolge aus.type', where a
variable'value' or
Methode-Gruppe' wurde erwartet, dass & Fehler CS1502: Die beste übereinstimmung für die überladene MethodeUnityEngine.Resources.Load(string, System.Type)' has some invalid arguments & error CS1503: Argument
#2 " kann nicht konvertierenobject' expression to type
System.Typ"Ough... yess! Sorry, das war ein versehen. Ich habe korrigiert Sie und fügte hinzu, ein weiterer Weg, um es zu schreiben. Jetzt sollte es funktionieren 🙂
TextAsset mytext = Ressourcen.Laden("text") als TextAsset; lädt die Datei (ich habe es mit Debug.Log. Das problem übrig bleibt, ist, zu bekommen
lbl.text = mytext
zu arbeiten. Ich bekomme den Fehler CS0029: kann Nicht implizit konvertiert ArtUnityEngine.TextAsset' to
string'Hinzugefügt letzten Zeile für string-Konvertierung und Korrektur eines letzten Tippfehler.
Zusätzlich können Sie mit
string[] txtLines = myData.text.Split('\n');
wenn Sie laden eine Datei, die Sie speichern müssen Zeile für Zeile.InformationsquelleAutor pid