Unity(+ Vuforia)で作業していますが、vuMark拡張現実オブジェクト(これはVuforiaのもの)を識別する変数をいくつか印刷しようとしました。しかし、私はそれが動作するように見えることはできません。UnityとC#DebugLogがすべて印刷されていない
私のコードは以下の通りです。ここでは、vuMarkIDを「テーブル」と比較したいと考えています。しかし、DebugLogでは、私の2番目のステートメント(Debug.Log("vuMarkCompareToTable...")
)は1を返します。最初のステートメント(Debug.Log("ID = {0}"...)
)は "テーブル"を返します。私はvuMarkID文字列オブジェクトをトリミングしようとしましたが、また、以下のように直接変換しようとしました。
もう1つの奇妙なことは、最初のステートメントのデバッグログに「テーブル」の後には何も印刷されません。私はvuMarkID+"END"
のようなものを使用して連結しようとしましたが、ステートメントは単に "テーブル"で切り捨てられます。私は"ID = {0}{0}"
を使って印刷を試みても、最初の "表"だけが印刷されます。 vuMarkIDオブジェクトが変更されても(たとえば、Stoolへ)、最初のvuMarkIDオブジェクトの後には何も印刷されません。
"Table"の後にテキストを認識し、引数が(一見)同じ場合、CompareTo関数が0を返すようにDebug.Logを取得するにはどうすればよいですか?
編集:私もDebug.Log(string.Format("ID = " + vuMarkID + "DONE"));
を試しました(テキストの後に何かがあるかどうかを確認しようとしています)が、vuMarkIDの直後にも切断されます。私は改行のために置き換えようとしました、もしそれがあったとしても、それは効果がありませんでした。表後
//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")));
}
を支援.Log(String.Format( "ID = {0}" + logdebug)を使用して、Console.WriteLineのように置き換える(string.Format( "ID = {0}"、logdebug) 。 –
何らかの理由で、それはそれを好まない。 'コールバックで例外が発生する:System.Reflection.TargetInvocationException:例外が呼び出しのターゲットによってスローされました。 ---> System.FormatException:インデックス(0から始まる)は0より大きく、引数リストのサイズより小さくなければなりません。 ' – A4Treok
おめでとうございます。固定された「全テキストが表示されない」のあなたの問題は、今では(0未満である)あなたのvuMarkIDが範囲外であると思われる、あなたはその値を使用することを修正する必要があります。 –