前田稔(Maeda Minoru)の超初心者のプログラム入門
ファイル名 | ファイルの説明 |
---|---|
Main.cpp | Main Program File |
Ddutil.cpp | c:\Dx90SDK\Samples\C++\Common からコピー |
Ddutil.h | c:\Dx90SDK\Samples\C++\Common からコピー |
Dxutil.h | c:\Dx90SDK\Samples\C++\Common からコピー |
Girl.bmp | 透明色(黒)を使った BMP 画像 |
HWND g_hWnd; CDisplay* g_pDisplay = NULL; CSurface* g_pBmpSurface = NULL; BOOL g_bActive = FALSE; int g_num = 0; //幅=128, 高さ=216 で横に7枚並んでいる BMP 画像ファイル char bmpfile[]= "c:\\data\\test\\girl.bmp"; |
//★ InitDirectDraw() HRESULT InitDirectDraw(HWND hWnd) { HRESULT hr; g_pDisplay = new CDisplay(); if (FAILED(hr=g_pDisplay->CreateWindowedDisplay(hWnd,900,240))) return hr; if (FAILED(hr=g_pDisplay->CreateSurfaceFromBitmap(&g_pBmpSurface,bmpfile,0,0))) return hr; if (FAILED(hr=g_pBmpSurface->SetColorKey(0))) return hr; return S_OK; } |
HRESULT DisplayFrame() { HRESULT hr; RECT rect; g_pDisplay->Clear(RGB(0,100,80)); // g_pDisplay->Blt(0,0,g_pBmpSurface,NULL); g_num= (timeGetTime()/200)%7; SetRect(&rect,g_num*128,0,(g_num+1)*128,216); g_pDisplay->Blt(0,0,g_pBmpSurface,&rect); if (FAILED(hr=g_pDisplay->Present())) return hr; return S_OK; } |