トップページ > 過去ログ > 記事閲覧
フォグ
名前:na 日時: 2010/05/28 18:47

お世話になります フォグを有効にしているときにChangeWindowModeを使うと 画像全部分がSetFogColorで設定した色になってしまいます 前にも似たような質問があるので載せておきます ttp://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=1645 back.bmpはサンプルプログラム実行用フォルダにあるものです DxLib ver3.02c WindowsVista VC++2010Express #include "DxLib.h" int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { ChangeWindowMode(TRUE); DxLib_Init(); SetChangeScreenModeGraphicsSystemResetFlag(FALSE); SetDrawScreen(DX_SCREEN_BACK); SetFogEnable(TRUE); SetFogColor(255, 0, 255); // 紫 SetFogStartEnd(200.0f, 1500.0f); int GrHandle = LoadGraph("back.bmp"); char key[256]; VERTEX3D Vertex[6]; // 2ポリゴン分の頂点のデータをセット Vertex[ 0 ].pos = VGet( 120.0f, 340.0f, 500.0f ) ; Vertex[ 0 ].norm = VGet( 0.0f, 0.0f, 0.0f ) ; Vertex[ 0 ].dif = GetColorU8( 255,255,255,255 ) ; Vertex[ 0 ].spc = GetColorU8( 0, 0, 0, 0 ) ; Vertex[ 0 ].u = 0.0f ; Vertex[ 0 ].v = 0.0f ; Vertex[ 0 ].su = 0.0f ; Vertex[ 0 ].sv = 0.0f ; Vertex[ 1 ].pos = VGet( 520.0f, 340.0f, 500.0f ) ; Vertex[ 1 ].norm = VGet( 0.0f, 0.0f, 0.0f ) ; Vertex[ 1 ].dif = GetColorU8( 255,255,255,255 ) ; Vertex[ 1 ].spc = GetColorU8( 0, 0, 0, 0 ) ; Vertex[ 1 ].u = 1.0f ; Vertex[ 1 ].v = 0.0f ; Vertex[ 1 ].su = 0.0f ; Vertex[ 1 ].sv = 0.0f ; Vertex[ 2 ].pos = VGet( 120.0f, 140.0f, 0.0f ) ; Vertex[ 2 ].norm = VGet( 0.0f, 0.0f, 0.0f ) ; Vertex[ 2 ].dif = GetColorU8( 255,255,255,255 ) ; Vertex[ 2 ].spc = GetColorU8( 0, 0, 0, 0 ) ; Vertex[ 2 ].u = 0.0f ; Vertex[ 2 ].v = 1.0f ; Vertex[ 2 ].su = 0.0f ; Vertex[ 2 ].sv = 0.0f ; Vertex[ 3 ].pos = VGet( 520.0f, 140.0f, 0.0f ) ; Vertex[ 3 ].norm = VGet( 0.0f, 0.0f, 0.0f ) ; Vertex[ 3 ].dif = GetColorU8( 255,255,255,255 ) ; Vertex[ 3 ].spc = GetColorU8( 0, 0, 0, 0 ) ; Vertex[ 3 ].u = 1.0f ; Vertex[ 3 ].v = 1.0f ; Vertex[ 3 ].su = 0.0f ; Vertex[ 3 ].sv = 0.0f ; Vertex[ 4 ].pos = VGet( 120.0f, 140.0f, 0.0f ) ; Vertex[ 4 ].norm = VGet( 0.0f, 0.0f, 0.0f ) ; Vertex[ 4 ].dif = GetColorU8( 255,255,255,255 ) ; Vertex[ 4 ].spc = GetColorU8( 0, 0, 0, 0 ) ; Vertex[ 4 ].u = 0.0f ; Vertex[ 4 ].v = 1.0f ; Vertex[ 4 ].su = 0.0f ; Vertex[ 4 ].sv = 0.0f ; Vertex[ 5 ].pos = VGet( 520.0f, 340.0f, 500.0f ) ; Vertex[ 5 ].norm = VGet( 0.0f, 0.0f, 0.0f ) ; Vertex[ 5 ].dif = GetColorU8( 255,255,255,255 ) ; Vertex[ 5 ].spc = GetColorU8( 0, 0, 0, 0 ) ; Vertex[ 5 ].u = 1.0f ; Vertex[ 5 ].v = 0.0f ; Vertex[ 5 ].su = 0.0f ; Vertex[ 5 ].sv = 0.0f ; while( !ProcessMessage() ) { ClearDrawScreen(); GetHitKeyStateAll(key); DrawPolygon3D(Vertex, 2, GrHandle, FALSE); if( key[KEY_INPUT_A] ) ChangeWindowMode(FALSE); if( key[KEY_INPUT_S] ) ChangeWindowMode(TRUE); if( key[KEY_INPUT_ESCAPE] ) break; ScreenFlip(); } DxLib_End(); return 0; } よろしくお願いします

Page: 1 |

Re: フォグ ( No.1 )
名前:いっち 日時:2010/05/29 00:14

私の環境でも再現しました。 WinXP Pro SP3 VS 2008 EE DxLib 3.02d 25日ぐらい版
Re: フォグ ( No.2 )
名前:管理人 日時:2010/05/30 14:38

ご報告ありがとうございます SetChangeScreenModeGraphicsSystemResetFlag( FALSE ) ; 設定時の フォグ設定の復帰処理がバグっていました 修正版をアップしましたのでよろしければお試し下さい m(_ _)m http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用 (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』、VCをお使いの場合は『リビルド』をして下さい)
Re: フォグ ( No.3 )
名前:na 日時:2010/05/30 15:50

修正確認できました いっちさん 管理人さん ありがとうございます
Re: フォグ ( No.4 )
名前:na 日時:2010/05/30 16:09

今度はLoadSoundMemでエラーが出てしまいます test.wavはサンプルプログラム実行用フォルダにあるものです DxLib ver3.02d WindowsVista VC++2010Express #include "DxLib.h" int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { ChangeWindowMode(TRUE); DxLib_Init(); SetChangeScreenModeGraphicsSystemResetFlag(FALSE); SetDrawScreen(DX_SCREEN_BACK); OutputDebugString("前\n"); int SoundHandle = LoadSoundMem("test.wav"); OutputDebugString("後\n"); char key[256]; while( !ProcessMessage() ) { ClearDrawScreen(); GetHitKeyStateAll(key); PlaySoundMem(SoundHandle, DX_PLAYTYPE_NORMAL); if( key[KEY_INPUT_ESCAPE] ) break; ScreenFlip(); } DxLib_End(); return 0; } よろしくお願いします
Re: フォグ ( No.5 )
名前:管理人 日時:2010/05/30 20:00

すいません、別件で追加情報付きwavファイルに対応したのですが、 そのプログラムにミスがあり追加情報のない普通のwavファイルを読み込もうとすると エラーが発生するようになってしまっていました 修正版をアップしましたので、何度も申し訳ありませんがよろしければお試しください m(_ _;m http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用 (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』、VCをお使いの場合は『リビルド』をして下さい)
Re: フォグ ( No.6 )
名前:na 日時:2010/05/30 20:09

読み込めるようになりました ありがとうございます

Page: 1 |