剛用上WinCE6.0,DirectDraw部分有較大的改動,在自己改以前的代碼的同時(shí)在這記錄下:都比較簡短,要更詳細(xì)的話可以看PB的幫助文檔,自己去比較下Simple中的代碼^_^:
1.接口不再使用XXXXX2/4/7,而是使用統(tǒng)一的XXXXX, 如:
LPDIRECTDRAW g_pDD = NULL;(新)
LPDIRECTDRAW4 g_pDD = NULL;(舊)
新版本不兼容舊版本.
2.在初始化LPDIRECTDRAW g_pDD的時(shí)候不再需要QueryInterface,而是直接用 DirectDrawCreate(NULL, &g_pDD, NULL);完成.
3.DDCAPS結(jié)構(gòu)改變,很多成員不再使用ddcaps.dwCaps&DDSCAP_XXX判斷是否有這個功能.而是根據(jù)直接提供的ddcaps.dwXXXCpas的成員是否為0來判斷.還有很多的成員的改變,這個看新的PB6.0的文檔。
4. DDSURFACEDESC ddsd改動(只對于Overlay)
不再使用 ddsd.ddsCaps.dwCaps = DDSCAPS_OVERLAY | DDSCAPS_FLIP | DDSCAPS_COMPLEX | DDSCAPS_VIDEOMEMORY;
中的DDSCAPS_COMPLEX | DDSCAPS_VIDEOMEMORY;
5.Overlay的Alpha設(shè)置問題:
要Overlay有透明效果只要設(shè)置DDOVERLAYFX 中的 dwAlphaConst,dwAlphaConstBitDepth到合適的值就可以了
要更多更專業(yè)的解釋請看:
http://msdn.microsoft.com/en-us/library/aa913866.aspx
posted on 2008-10-15 22:51
Lexili 閱讀(3205)
評論(3) 編輯 收藏 引用 所屬分類:
DirectX