正確的 邊Render圖形邊收使用者操作的話 正確的迴圈應該是這樣寫
這是DirectXSDK範例的一小段
// Main message loop
MSG msg = {0};
一直跑回圈 直到收到 結束
while( WM_QUIT != msg.message )
{
接收Windows訊息
if( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) )
{
有訊息 就拋給Window Procedure
TranslateMessage( &msg );
DispatchMessage( &msg );
}
else
{
沒訊息 就Render
Render();
}
}
這段跟我寫direct2d的範例一樣
總覺得很有感覺
前幾天我用狀態機來判別圖形動畫的顯示
每秒讀25張
不過當時我是直接用api
只是顯示矩形然後讓他從座標x=50每0.04秒x+50
這樣在一秒後就會移動到50*25
實際上看起來就是從左邊移動到右邊
在更久以前我寫opengl時也是直接用別人寫的讀3D模型的程式
自己也想寫寫畫2D圖形的api看看
雖然direct比較快 效果又多
可是api比較通用
還是試著用gdi+來寫讀圖片的程式好了
雖然我是寫系統程式的
很多圖形功能跟遊戲邏輯都沒摸過
就當是自我練習好了~