0

我正在尝试将 int 与代码中 if 语句中的 Vector2 位置进行比较,但是出现错误:运算符'<='不能应用于'Microsoft.Xna.Framework.Vector2'和'类型的操作数诠释'。

这是代码片段:

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

2 回答 2

1

正如错误所说,向量和数值之间没有定义比较。您的选择:

  • 比较向量的一个分量:Position[i].X < positionTracker
  • 将向量的绝对值与数值进行比较: Position[i].Length < positionTracker
于 2013-05-19T01:15:23.273 回答
0

从您到目前为止提供的信息来看,您正在比较Position[i], 类型Vector2, 和positionTracker, 类型int

如何将向量与 int 进行比较?

答案是:你没有。您可以将向量 ( Position[i].Length)的绝对值与int. 或者您可以将向量的坐标之一与int. 但是您不能将向量与 int 进行比较。那没有意义。

于 2013-05-19T01:16:54.613 回答