Xna 新华社:为什么';t循环工作?

Xna 新华社:为什么';t循环工作?,xna,character,Xna,Character,如果我尝试做一个循环,它在XNA中将不起作用。我想用它来选择角色(战士游戏),如果你按下一个键(选择一个角色),它会增加当前的计数,如果这个计数等于某个数字,就会显示一条消息,说两个角色都被选中了。这是为了防止玩家在竞技场上选择/加载超过一定数量的角色。在我的例子中,我只想加载2个字符,不需要更多 我的代码是: int count = 1; if (int i = 0; i < count; i++) count = count + i; if (Keyboard.GetStat

如果我尝试做一个循环,它在XNA中将不起作用。我想用它来选择角色(战士游戏),如果你按下一个键(选择一个角色),它会增加当前的计数,如果这个计数等于某个数字,就会显示一条消息,说两个角色都被选中了。这是为了防止玩家在竞技场上选择/加载超过一定数量的角色。在我的例子中,我只想加载2个字符,不需要更多

我的代码是:

int count = 1;

if (int i = 0; i < count; i++)
   count = count + i;

if (Keyboard.GetState().IsKeyDown(Keys.A))   // This will select Character A
   count += 1;
if (Keyboard.GetState().IsKeyDown(Keys.D))   // This will select Character B
   count += 1;

if (count == 2)   // This checks to see if the total count has reached 2
   // Message is displayed here
int count=1;
if(int i=0;i

有人有什么想法吗?

你这里有一个语法错误(似乎这个for循环式构造根本不需要。它的目的是什么?
如果(int i=0;i

你的代码是一个逻辑混乱,所以我不会试图在我的答案中建立它。我不认为我什么都懂,但这里有一个尝试

您需要state,它只是指示是否加载了某些内容的变量。您可以简单地使用两个布尔变量,如下所示:

//at the Game class level:
bool char1Selected = false;
bool char2Selected = false;

//inside Update(GameTime)
if (Keyboard.GetState().IsKeyDown(Keys.A))
{
   char1Selected = true;
}

if (Keyboard.GetState().IsKeyDown(Keys.D))
{
   char2Selected = true;
}

if(char2Selected && char1Selected)
{
    //then both are selected. do something here according to your game's logic.
}
当然这不是C#?如果(int i=0;i甚至无法编译,因为这是毫无意义的,语法上是错误的。即使假设你的意思是
for
,它的目的是什么?