いつもお世話になっています。
現在制作中のゲームにて、動画再生を行いたいのですが、
ウィンドウモードを指定すると、動画ファイルのオープン時にエラーが発生してしまいます。
これは仕様なのでしょうか?
(動画再生はフルスクリーンのみ、ウィンドウモードは非サポート?)
参考にサンプル(といっても、ほとんどこのサイトのサンプルですが)を記載します。
ChangeWindowMode( TRUE )があるとエラー、これをコメントにするとOKになります。
ご返信をいただけると助かります。仕様なら諦めます。
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
int Ghand_Movie_h ;
int ret_f ;
// これを指定すると、[LoadGraph]がエラーになる
ChangeWindowMode( TRUE ) ;
if( DxLib_Init() == -1 ) // DXライブラリ初期化処理
{
return -1; // エラーが発生したら終了
}
Ghand_Movie_h = LoadGraph( "DATA\\MOVIE\\test006.mpg" ) ;
if( Ghand_Movie_h == -1 ) exit ( 55 ) ; // エラー
ret_f = PlayMovieToGraph( Ghand_Movie_h ) ;
if( ret_f == -1 ) exit ( 55 ) ; // エラー
// 描画先の画面を裏画面に
SetDrawScreen( DX_SCREEN_BACK ) ;
// ループ、GetMovieStateToGraph 関数はムービーの再生状態を得る関数です
// 戻り値が1の間は再生状態ですのでループを続けます
while( ProcessMessage() == 0 && GetMovieStateToGraph( Ghand_Movie_h ) == 1 )
{
// ムービー映像を画面いっぱいに描画します
DrawExtendGraph( 0 , 0 , 640 , 480 , Ghand_Movie_h , FALSE ) ;
// 画面左上に再生時間を描画します
DrawFormatString( 0, 0, GetColor( 255,255,255 ), "Time:%d", TellMovieToGraph( Ghand_Movie_h ) ) ;
// 裏画面の内容を表画面に反映します
ScreenFlip() ;
}
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}