|
2014/9/22 上午 08:38:57
只用 CoInitialize(NULL); CoCreateInstance(CLSID_FilterGraph,NULL,CLSCTX_INPROC_SERVER, IID_IGraphBuilder,(void**)&pGraph); pGraph->QueryInterface(IID_IMediaControl,(void**)&pMediaControl); pGraph->QueryInterface(IID_IMediaEvent,(void**)&pEvent); pGraph->RenderFile(szFile,NULL); if(pMediaControl) pMediaControl->Run(); 播影片成功但是是雙視窗 我想把它放在遊戲裡的一個小範圍 所以加上 pVidWin->put_WindowStyle(WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN); pVidWin->SetWindowPosition(MOVIE.left,MOVIE.top,MOVIE.right,MOVIE.bottom); pVidWin->put_MessageDrain((OAHWND)ghwnd); 結果子視窗都被遊戲畫面蓋掉了 我遊戲畫面用的是ID3DXSPRITE做2D繪圖1秒60次重繪 想請問DIRECTX有哪些範例有座類似功能? 或是有其他網站教學範例?
|
|
|
2014/10/13 下午 05:09:00
應該是因為翻頁造成的 你參考看看有沒有用? http://www.player.idv.tw/prog/index.php/PlayMovie.cpp
如果沒用的話 你要自己把你繪圖裡的翻頁的部分改一下
|
|
|
2014/12/31 上午 10:05:20
沒用耶 我現在故意打視窗拉大 遊戲程式還是指畫左側部分 然後把影像檔 或是子視窗或是DIALOG資源放在右側沒貼圖部分 我只要翻頁時 也是都被蓋掉 我翻頁程式就下面這樣 pDev->Clear( 0, NULL,D3DCLEAR_TARGET, D3DCOLOR_XRGB(0,0,0), 1.0f, 0 );//清除畫面 pDev->BeginScene();//開始繪圖 ..........................遊戲程式 pDev->EndScene();//停止繪圖 pDev->Present( NULL, NULL, NULL, NULL ); hr = pDev->TestCooperativeLevel();
if( hr == D3DERR_DEVICELOST ) { return; // not ready to reset, but not ok to render }
if( hr == D3DERR_DEVICENOTRESET ) { Release(); if(m_bWindowed==true) InitD3D( dwhd ); else InitD3DFullScreen( dwhd ,WindowX,WindowY) ; // D3DXCreateFont(pDev, hfont1, &myD3DFont); Restore(); }
以前用DirectDraw的舊程式就不會蓋掉影片與DIALOG資源
|
|
|
|
|
|
DirectX |
 |
|
|
專家等級 |
評價 |
|
|
一代宗師 |
10000 |
|
|
曠世奇才 |
5000 |
|
|
頂尖高手 |
3000 |
|
|
卓越專家 |
1500 |
|
|
優秀好手 |
750 |
|
|
|
|
|
|
|
|
|
Microsoft Internet Explorer
6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/ |
|
|