今あるコードをベースに修正するなら、こんな感じかなあ。
余裕があれば、関数化とかクラス化とかやったほうが良いだろうけど。

while(メインループ)
{
  if(会話メッセージ表示フラグが真)
  {
    //会話メッセージの処理(メッセージ送りとか)
  }
  else
  {
    //プレイヤーの操作とか、敵の動きとか、当たり判定とか
  }

  //描画はまとめて行う
  //ステージ表示
  //プレイヤー表示
  if(会話中フラグ)
  {
    //会話ウィンドウ表示;
  }
}