かわさんも仰られていますが、実際のプログラムを拝見できれば原因がわかると思います
for で画面を暗くした後、while で四角形が左右に移動するプログラムを組んでみましたので
こちらをやまさんの遭遇された現象が発生するように変更していただけないでしょうか?
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
int x = 0, add = 8 ;
// ウインドウモードで起動
ChangeWindowMode( TRUE ) ;
// DXライブラリの初期化
if( DxLib_Init() < 0 ) return -1 ;
// 描画先を裏画面にする
SetDrawScreen( DX_SCREEN_BACK ) ;
// 背景を灰色にする
SetBackgroundColor( 128,128,128 ) ;
// 画面を暗くする処理、暗くなったら出る。
for( int i = 0 ; i < 255 ; i ++ )
{
// 画面を初期化
ClearDrawScreen() ;
// アルファブレンドで徐々に暗くする
SetDrawBlendMode( DX_BLENDMODE_ALPHA, i ) ;
// 画面全体を半透明の黒で塗りつぶし
DrawBox( 0, 0, 640, 480, GetColor( 0,0,0 ), TRUE ) ;
// 裏画面の内容を表画面に反映
ScreenFlip() ;
}
// ブレンド設定を元に戻す
SetDrawBlendMode( DX_BLENDMODE_ALPHA, 255 ) ;
// ここからゲーム開始、その他の処理と描画
while( ProcessMessage() == 0 )
{
// 画面のクリア
ClearDrawScreen() ;
// 左右に移動する四角形の移動処理と描画
x += add ;
if( x <= 0 || x >= 640 )
{
add = -add ;
}
DrawBox( x, 0, x + 64, 64, GetColor( 255,255,255 ), TRUE ) ;
// 裏画面の内容を表画面に反映
ScreenFlip() ;
}
// DXライブラリの後始末
DxLib_End() ;
// ソフトの終了
return 0 ;
}