我目前正在通過組合Windows窗體和XNA構建的XNA的級別編輯器。 我使用App Hub上的示例link text,但我做了一些更改,所以我有一些ViewportController類管理所有視口控件,而不是直接管理它們。 問題是,當我需要更新Draw方法時,我必須搖動窗口。 任何人都知道如何解決這個問題,所以Draw會實時更新?Windows窗體和XNA - 繪製不是實時的
1
A
回答
2
不知道ViewportController可能是什麼。但是,Draw()方法是由Windows繪畫請求觸發的。運行Control.OnPaint()方法時,GraphicsDeviceControl類中會覆蓋它,導致Draw()運行。
樣品SpinningTriangleControl顯示你怎麼拿到的一個控件反覆重繪自己,你需要得到什麼動畫:
// Hook the idle event to constantly redraw our animation.
Application.Idle += delegate { Invalidate(); };
注Control.Invalidate()方法調用,這最終是什麼導致OnPaint()方法運行。使用空閒事件可以確保一遍又一遍地完成,但只有當主線程不忙於其他任何事情時纔會這樣做。對於僅顯示靜態內容的控件而言,這不是必需的,例如SpriteFontControl示例。另一種方法是使用帶有較短Interval的Timer,其Tick事件處理程序可以調用Invalidate()。
相關問題
- 1. XNA與Windows窗體 - 打開新窗口
- 2. Windows窗體中的XNA更新?
- 3. 在窗口內繪製Windows窗體
- 4. 結合Windows窗體和XNA,但缺乏「遊戲」實例
- 5. XNA AdGameComponent不繪製
- 6. 窗體不重新繪製
- 7. 用XNA繪製遊戲中的窗口
- 8. Windows窗體繪製效率低下 - C#
- 9. Windows窗體刪除繪製橢圓
- 10. 在Windows窗體中繪製30fps圖表
- 11. Windows窗體圖形沒有繪製
- 12. XNA - 如何繪製更遠的物體
- 13. 如何實現一個Windows窗體中的XNA遊戲
- 14. XNA C#繪製時間?
- 15. C#在Windows窗體應用程序中實時繪圖
- 16. 在Windows窗體中繪圖
- 17. Windows窗體並行繪圖
- 18. 暫停重繪Windows窗體
- 19. 在不同類別的Windows窗體中繪製圖片框
- 20. 在不使用Windows窗體的情況下繪製C#圖形
- 21. GameTime類替代XNA-控制在Windows窗體環境
- 22. XNA繪製一個實心圓
- 23. 在Windows窗體中繪製立方體的最簡單方法是什麼?
- 24. 在XNA不同的顏色繪製的字體/ C#
- 25. C#中的控制檯和Windows窗體#
- 26. WP7 XNA - 只繪製
- 27. SSIS和Windows窗體
- 28. c#窗體和xna - 高CPU使用率
- 29. 不能雙緩衝窗體上繪製
- 30. 控制檯的Windows窗體
謝謝!我想我錯過了那部分:-) – Basic 2010-11-11 00:02:37