いつもお世話になっております。
ライブラリのバージョン:3.15a
OS:windows10
MakeScreen関係で不具合と思われる動作を確認しましたので報告します。
タイトルにあるようにMakeScreenで作成したグラフィックが正常に描画されません。
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include "DxLib.h"
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
ChangeWindowMode(true);
if (DxLib_Init() == -1) return -1;
int ScreenHandle = MakeScreen(100, 100, false);
while (CheckHitKeyAll() == 0 || ProcessMessage() != -1){
SetDrawScreen(ScreenHandle);
ClearDrawScreen();
DrawBox(0, 0, 100, 100, GetColor(255, 0, 0), true);
SetDrawScreen(DX_SCREEN_BACK);
ClearDrawScreen();
//↓の一文のコメントを外すと正常に描画される
//DrawString(0, 0, "test", GetColor(0, 0, 255));
DrawBox(0, 0, 400, 400, GetColor(0, 255, 0), true);
DrawGraph(100, 100, ScreenHandle, true);
ScreenFlip();
}
DxLib_End();
return 0;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
上記のプログラムを実行すると緑の四角の上にScreenHandleに描画したもの(今回は赤色の四角)が描画されるはずですが、
結果は緑の四角の上に一瞬赤色の四角が描画され、そのあとは黒色の四角が描画されました。
ScreenHandleにアルファチャンネルをつけると、今度は緑の四角の上に一瞬赤色の四角が描画され、そのあとは緑の四角だけが描画されました(されているように見える)。
これらの結果からはじめの一回以外MakeScreenで作成したグラフィックに描画が出来ていないと思われます。
余談ですが、なぜか文字列を描画(場所はどこでも)すると正常に描画されます。