2013-05-19 66 views
0

我試圖比較一個int在我的代碼中的if語句中的Vector2位置,但是我得到的錯誤:運算符'< ='不能應用於'Microsoft.Xna'類型的操作數.Framework.Vector2'和'int'。比較int的和Vector2的

這裏是代碼片段:

  for (int i = 0; i < Position.Count(); i++) 
      if (Position[i] < positionTracker) 
      { 
       mSpeed.X = WizardSpeed; 
       mDirection.X = MOVE_LEFT; 
      } 
+1

如果你在一個名爲'positionTracker'的變量上做了問題,但是你永遠不會告訴我們你在哪裏聲明它或者你在做什麼。 –

回答

1

作爲錯誤說,沒有載體和一個數值之間定義的比較。您的選擇:

  • 比較向量的組件之一:Position[i].X < positionTracker
  • 比較載體,以數字值的絕對值:Position[i].Length < positionTracker
0

在你給到目前爲止,你的信息進行綜合判斷比較Position[i](其類型爲Vector2)和positionTracker,其類型爲int

你如何比較一個向量與一個int?

答案是:你沒有。您可以比較矢量(Position[i].Length)與int的絕對值。或者,您可以將矢量的一個座標與int進行比較。但是你無法將一個向量與一個int進行比較。這沒有意義。

+0

我現在明白了。謝謝你提供的有用信息,現在我知道了,以備將來參考。 –