トップページ > 過去ログ > 記事閲覧
ChangeWindowModeを実行するとモデルのアルファが無視される
名前: 日時: 2011/07/21 16:02

いつもお世話になっております。 ChangeWindowModeを実行した際の動作についてご質問させて下さい。 「Kabe.mqo」の材質として KabeTex.bmp(模様) a_KabeTex.bmp(透明) を設定し、モデルに適用しました。 ※「Kabe.mqo」はサンプルプログラムの「31.迷路を3Dで表示」の Kabe.mqo内のフレーム名「1111」以外を削除し、面を反転させたものです。 「a_KabeTex.bmp」は真っ白の画像の中央に黒い円を描いたものです。 ChangeWindowModeを実行すると透明に設定した部分が無視され、本来透過される中央の円部分が 透過されなくなりました。フルスクリーンからウィンドウに、その逆でも同様でした。 以下にサンプルを記載させていただきます。 #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { int KabeModel; ChangeWindowMode( TRUE ); SetGraphMode(640, 480, 32); SetChangeScreenModeGraphicsSystemResetFlag(FALSE); if( DxLib_Init() < 0 ) return -1; SetDrawScreen( DX_SCREEN_BACK ) ; KabeModel = MV1LoadModel( "Kabe.mqo" ) ; MV1SetPosition( KabeModel, VGet( 320.0f, -300.0f, 600.0f ) ) ; int WindowMode = TRUE; int check = 0; while( ProcessMessage() == 0 && CheckHitKey( KEY_INPUT_ESCAPE ) == 0 ) { ClearDrawScreen() ; int Key = CheckHitKey(KEY_INPUT_A); if(Key == 1) { check++; } else { check = 0; } if(check == 1) { if(WindowMode == TRUE) { WindowMode = FALSE; } else { WindowMode = TRUE; } ChangeWindowMode(WindowMode); } MV1DrawModel( KabeModel ) ; ScreenFlip() ; } DxLib_End() ; return 0 ; } ご検証よろしくお願いします。

Page: 1 |

Re: ChangeWindowModeを実行するとモデルのアルファが無視される ( No.1 )
名前:いっち 日時:2011/07/21 19:20

※ 修正しました。ちゃんと読まずに回答していました。ごめんなさい。 私の環境では再現しないようです。 ご使用のDXライブラリのバージョンはおいくつでしょうか?
Re: ChangeWindowModeを実行するとモデルのアルファが無視される ( No.2 )
名前: 日時:2011/07/21 20:48

>いっち様 返信ありがとうございます。 ライブラリのバージョンは3.05を使用しております。 書き方が悪かったところがございましたので補足します。 起動直後はきちんとアルファ部分が抜かれております。その後にサンプルで書いたプログラムで言うAキーを押し、ウィンドウモードを変更するとアルファが抜かれなくなります。
Re: ChangeWindowModeを実行するとモデルのアルファが無視される ( No.3 )
名前:いっち 日時:2011/07/21 20:59

最新バージョンの 3.05e ではどのようになるかお試しいただけますか? それでも事象が起こるようでしたら、念のためご使用のデータをご提供下さい。
Re: ChangeWindowModeを実行するとモデルのアルファが無視される ( No.4 )
名前:奏(解決) 日時:2011/07/21 21:20

>いっち様 最新バージョンにしたところ正常に描画されるようになりました。 今後は最新版があるか確認したいと思います。 ご回答ありがとうございました。

Page: 1 |