2012-12-22 26 views
1

我已成功創建xna winform,就像 WinForms Series 1: Graphics Device 教程一樣。好吧,現在我喜歡創建一些類來繪製基於類的組件在XNA上創建一個WinForm C#

在xna中有幾個「保護空白」來構建遊戲:自己的圖形設備。 在XNA,看看下面這個「保護無效」代碼:

 public override void Draw(GameTime gameTime) 
     { 
      // TODO: Add your drawing code here 
      base.Draw(gameTime); 
     } 
     public override void Update(GameTime gameTime) 

     {            

      base.Update(gameTime); 
     } 

我想用自己的graphicdevice 因此類以上工作這些代碼,我該怎麼做呢?

回答

1

您需要將您的遊戲組件從DrawableGameComponent添加到Game.Components集合。

另外,您不需要製作自己的圖形設備。

1

在編寫WinForms應用程序時,您不會依賴於DrawUpdate方法來告訴您何時繪製和更新;相反,您可以覆蓋Windows OnPaintBackground方法。爲了更新,您可以使用Timer對象。

+0

我把它全部寫在類文件中,我如何在類中訪問定時器? – Ricks

+0

'Timer'應該在'Form'上,每次觸發時都會調用所需的任何'Update'方法或邏輯。 –

+0

你確定你需要在WinForms中編寫這個項目嗎? XNA將在沒有WinForms的Windows中運行。通常你會使用WinForms編寫你的遊戲編輯器,或者給WinForms應用程序提供一些XNA圖形功能。如果這個項目是一個遊戲,你可能不想使用WinForms。 –