DxLib_Init助手:DxLib_Initですか。これは簡単に言うと、DXライブラリを使う準備を行う関数じゃ。この関数は、準備に失敗を返すと-1を返す。DXライブラリのリファレンスでは、-1の場合、ただちにプログラムを終了させるようにと言われておる。Subを実行しているってわけですね。それで、次はSetDrawScreenじゃが......じゃが......。助手:???博士:おーちゃん、後は頼む......ばた。助手:.........。おーちゃん:さて、また登場、おーちゃんじゃ。次は、SetDrawScreenじゃが、これはグラフィックを描く対象を、表画面にするか、裏画面にするかを設定する関数じゃ。裏画面?おーちゃん:表画面は、ディスプレイに表示されている画面にそのまま書く。他方、裏画面はメモリの中に展開されている、画面に表示されていない画面に書くのじゃ。その場合、適当なところで、後述するScreenFlip関数で、書かれた内容を画面に反映させる必要がある。助手:どうしてそのようなことを?おーちゃん:基本的に、Windowsでのゲームプログラムでは、後でも説明するが、画面を消しては描きなおす、という手順を使う。表画面にそのまま書いた場合、画面がちらついてしまうのじゃ。おーちゃん:そこで、裏画面に書いておき、完成したところでそれを表画面に反映させるという手法をとるわけじゃ。ちなみにこれを、専門用語で『ダブル・バッファリング』というぞ。それで次のClearDrawScreenですが、これはもしかしたら、画面をクリアする関数なのでは?おーちゃん:うむ、その通り。ScreenFlip関数は、さっきも話したの。裏画面に描画した内容を、画面に反映させる命令じゃ。これを実行させると、裏画面の内容が、画面に表示される。次のProcessMessageは?おーちゃん:これは、Windowsのシステムからのメッセージを処理する関数じゃ。いっても、さほど難しく考えることはない。『定期的に実行する必要がある』ことと、『そのメッセージの処理でエラーが発生したり、ゲームのウィンドウが閉じられたときに-1』を返す、ということだけじゃ。助手:ということは、ProcessMessageの入っているIF文は、ウィンドウが閉じられたら、ループを抜けるという意味なのですね?おーちゃん:うむ、そういうことじゃ。