トップページ > 過去ログ > 記事閲覧
SetTransColorの不具合?
名前:BWL 日時: 2010/01/12 22:46

しばらく作品を作っていなかったんですが、 作品を作り始めようと最新のライブラリを使用したらSetTransColorがうまく機能しません。 最初の設定は正常に処理されるのですが、フルスクリーン・ウインドウモードを切り替えるとSetTransColorの値が強制的に(0,0,0)になってしまいます。 #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { int GHandle ; if( DxLib_Init() == -1 ) // DXライブラリ初期化処理 { return -1; // エラーが起きたら直ちに終了 } // 透過色を変更 SetTransColor( 255 , 0 , 255 ) ; // BMP画像のメモリへの読みこみ GHandle = LoadGraph( "test4.bmp" ) ; while(ProcessMessage() == 0) { // 画面左上に描画します((3-7)『DrawGraph』を使用) DrawGraph( 0 , 0 , GHandle , TRUE ) ; if(CheckHitKey(KEY_INPUT_F1) == 1) break; // F1押したら終了する if(CheckHitKey(KEY_INPUT_F2) == 1) { ChangeWindowMode(FALSE); // F2押したらフルスクリーン GHandle = LoadGraph( "test4.bmp" ) ; } if(CheckHitKey(KEY_INPUT_F3) == 1) { ChangeWindowMode(TRUE); // F3押したらウインドウ GHandle = LoadGraph( "test4.bmp" ) ; } } DxLib_End() ; // DXライブラリ使用の終了処理 return 0 ; // ソフトの終了 } ↑はサンプルプログラムを適当に加えたものですが確認お願いします。 それとも仕様が変わったのでしょうか?

Page: 1 |

Re: SetTransColorの不具合? ( No.1 )
名前:ミルク 日時:2010/01/13 00:53

初めまして。 度々この掲示板で質問させていただいているミルクと申します。 確か、ChangeWindowMode関数を使用すると描画に関する設定が初期化されてしまうのではなかったでしょうか。 ですので、ChangeWindowMode関数の後に再度SetTransColor関数を使用してみてはどうでしょうか。
Re: SetTransColorの不具合? ( No.2 )
名前:BWL 日時:2010/01/14 22:26

回答ありがとうございます。 ChangeWindowMode後に再度SetTransColorを使用しても変わらないですね…。 環境が悪いのでしょうか。 もう少しいろいろ試してみます。
Re: SetTransColorの不具合? ( No.3 )
名前:Will 日時:2010/01/14 10:03

ChangeWindowMode(TRUE); // F3押したらウインドウ // 透過色を変更 SetTransColor( 255 , 0 , 255 ) ; GHandle = LoadGraph( "test4.bmp" ) ; として確認しましたが透過色は変更されましたよ。
Re: SetTransColorの不具合? ( No.4 )
名前:BWL 日時:2010/01/14 22:26

お手数かけました。 SetTransColorの場所がおかしかったようです。 Willさんのとおりにやったらうまくできました。 ありがとうございました。

Page: 1 |