游戏角色不动

时间:2013-12-19 14:59:31

标签: c# xna mono monogame

我一直在努力用MonoDevelop和MonoGame写一个非常简单的游戏。 我试图让一个敌人角色在一条直线上穿过屏幕。

到目前为止,我已编写此代码来执行此操作:

//draw enemy on screen
int enemyYPosition = 720;
int enemyXPosition = 1200;

drawEnemyRectangle.Y = enemyYPosition / 2;
drawEnemyRectangle.X = enemyXPosition;

if (enemyXPosition > 0) 
{
    enemyXPosition -= 50;
} 
else 
{
    enemyXPosition = 1200;
}

然而,当我运行游戏时,敌人出现在屏幕的中间右边,但它不会移动。

我做错了什么?

我的其余代码可以在这里找到:http://pastebin.com/gVEAkMWa

1 个答案:

答案 0 :(得分:1)

确保您的初始化代码与更新代码分开。

您的更新方法如下所示:

 public void Update(GameTime gameTime)
 {
   //The rest of your update code here

   drawEnemyRectangle.Y = enemyYPosition / 2;
   drawEnemyRectangle.X = enemyXPosition;

   if (enemyXPosition > 0) 
   {
      enemyXPosition -= 50;
   } 
   else 
   {
     enemyXPosition = 1200;
   }
 }

然后,您的变量将在其他位置初始化,例如:

   int enemyYPosition;
   int enemyXPosition;
   public Game1()
   {
     enemyYPosition = 720;
     enemyXPosition = 1200;
   }

这当然是猜测,因为你没有提供太多代码。

看完你的完整代码后,

更新,这似乎就是这个问题。