Ich arbeite mit Unity (+ Vuforia), und ich habe einige Probleme, einige Variablen zu drucken, die ich das vuMark Augmented Reality Objekt (das eine Vuforia-Sache) mit identifizieren möchte , aber ich kann es nicht zur Arbeit bringen.Unity und C# DebugLog druckt nicht alles
Mein Code ist unten, wo ich die vuMarkID mit "Tabelle" vergleichen soll. Im DebugLog gibt jedoch meine zweite Anweisung (Debug.Log("vuMarkCompareToTable...")
) 1 zurück. Obwohl die erste Anweisung (Debug.Log("ID = {0}"...)
) "Tabelle" zurückgibt. Ich habe versucht, das vuMarkID String-Objekt zu trimmen, und habe es auch direkt versucht, es zu konvertieren, wie Sie unten sehen.
Die andere seltsame Sache ist nichts wird nach "Tabelle" im Debug-Protokoll für die erste Aussage gedruckt. Ich habe versucht, Verkettung mit etwas wie vuMarkID+"END"
, und die Anweisung schneidet nur bei "Tabelle". Ich habe sogar versucht, mit "ID = {0}{0}"
zu drucken, und nur die erste "Tabelle" druckt. Selbst wenn sich das vuMarkID-Objekt ändert (z. B. zu Hocker), wird immer noch nichts nach dem initialen vuMarkID-Objekt gedruckt.
Wie kann ich das Debug.Log erhalten, Text nach "Tabelle" zu erkennen, und die CompareTo -Funktion gibt 0 zurück, wenn die Argumente (scheinbar) die gleichen sind?
Edit: Ich versuchte Debug.Log(string.Format("ID = " + vuMarkID + "DONE"));
auch (Ich versuche zu sehen, ob es etwas nach dem Text ist), aber das schneidet auch sofort nach der vuMarkID ab. Ich habe versucht, für Newline zu ersetzen, nur für den Fall, dass es da war, aber es hatte keine Wirkung.
//Gets the id of a VuMark Object
string vuMarkID = GetVuMarkId(vuMarkObj).ToString();
if (vuMarkID.CompareTo("Table ") == 0)
{
Debug.Log("Table found from tracking!");
}
else
{
string logdebug = vuMarkID;
object[] args = new object[] { (vuMarkID), vuMarkID.CompareTo("Table") };
Debug.Log(string.Format("ID = {0}", logdebug));
Debug.Log("vuMarkCompareToTable = " + (vuMarkID.Trim().CompareTo("Table")));
}
Sie kippe Verwendung Debug .Log wie eine Console.WriteLine, ersetze (string.Format ("ID = {0}", logdebug) mit (string.Format ("ID = {0}" + logdebug) . –
Aus irgendeinem Grund mag es das nicht. Ich bekomme 'Exception in callback: System.Reflection.TargetInvocationException: Exception wurde vom Ziel eines Aufrufs ausgelöst. ---> System.FormatException: Index (nullbasiert) muss größer oder gleich Null und kleiner als die Größe der Argumentliste sein. – A4Treok
Herzlichen Glückwunsch. Ihr Problem, 'den ganzen Text nicht anzuzeigen', wurde behoben, jetzt scheint es so, als ob Ihre vuMarkID außerhalb des Bereichs liegt (kleiner als 0), Sie müssen das beheben, um ihren Wert zu verwenden. –