2011-08-12 37 views
0

任何人都可以建議我一種特殊的方式來實現我的基於對話框的mfc程序中的動畫?我打算添加的動畫就像一個建築挖掘機圖形,它將讀取機器參數的值並相應地更改圖形的形狀。大多數信息是從參數文件中讀取的,所以我只需要能夠使動畫工作。基於MFC的動畫圖形實現對話框

感謝您的幫助提前。

+0

這取決於你想獲得的大小和幀率。它在64 FPS動畫下的8 FPS下與800x600下的64x64不一樣。 – rodrigo

+0

我不介意任何fps下的400x480圖像。但是,這會如何影響我將要繪製的內容?每當圖形需要更改時,我都會使用Invalidate()來刷新OnPaint()函數。 – Neophile

回答

3

那麼,GDI是容易的,但醜陋,很慢,GDI +也容易,但更好,但通常較慢。 OpenGL或DirectX要快得多,但要編程卻很難。其他圖書館,如開羅,也可用。

我建議先從最簡單的(也許是GDI +)開始,看看它是否足夠快。

這樣做,只是在定時器中繪製的控件(或者當您收到新數據時)Invalidate(),並在OnPaint()函數中繪製整個圖形。一個基本的改進是隻對新數據影響圖片的區域進行Invalidate()。

如果您注意到您的代碼不夠快,請回過頭來詢問如何改進它。一個具體的例子會讓你更容易得到更有用的答案。

+0

我不知道慢。動畫聽起來並不令人滿意。 GDI和GDI +可能會足夠快(除非你嚴重濫用GDI)。 –

+0

我想嘗試一下。希望它有效。如果我遇到問題,我會在論壇上提問。但謝謝你的建議。 乾杯。 – Neophile

+0

技術的速度並不那麼線性;它非常依賴於圖形板。 – sergiol