Processingでフルスクリーン
はじめに
Processingではフルスクリーン表示を行う様々な方法が用意されています。
しかし、バージョンによって使えない方法があります。
環境に合わせて適切な方法でフルスクリーン表示を行いましょう。
Presentで実行(全バージョン共通)
とにかくフルスクリーン表示にしたい場合は、
Sketch->Present
またはCtrl+Shift+R
でフルスクリーンで実行できます。
ウィンドウが画面中央に表示され、余白はグレーになります。また、左下のstop
ボタンで終了させることもできます。
size()
で、ディスプレイと同じサイズを指定すれば、当然ウィンドウは画面の最大サイズになります。
この機能は全バージョン共通して使うことができます。
fullScreen()を使う(バージョン3.0以上)
void setup()
内にfullScreen()
を書くことで簡単にフルスクリーン表示にすることができます。
しかし、この方法はProcessing3.0以上でなければ使えません。
また、この場合width
とheight
は画面の大きさ(displayWidth
とdisplayHeight
)になります。そして、size()
を使うことができなくなります。
void setup() {
fullScreen();
}
size()を使う(バージョン1.x, 2.x)
size()
関数でディスプレイの大きさを指定することでフルスクリーンにできます。
この場合、タイトルバーを消すために、frame.removeNotify()
などを記述する必要があります。
また、frame.setLocation(0,0)
でウィンドウの左上の位置を画面の左上に合わせていますが、この関数はvoid setup()
で使うことができないので、boolean setLocation_flag
を使ってvoid draw()
の最初に1回だけ実行しています。
Processing1.xの場合、displayWidthとdisplayHeightをそれぞれscreen.widthとscreen.heightに変更する必要があります。
そして、Processing3.xでは、frameが使えなくなったのでこの方法は使えません。
boolean setLocation_flag;
void setup() {
frame.removeNotify();
frame.setUndecorated(true);
frame.addNotify();
size(displayWidth, displayHeight);
setLocation_flag = true;
}
void draw() {
if (setLocation_flag) {
frame.setLocation(0, 0);
setLocation_flag=false;
}
}
Fullscreen APIを使う(バージョン1.x, 2.x)
Processing1.x, 2.x
では、フルスクリーン用のライブラリをインポートすることでフルスクリーン表示ができます。
Fullscreen API
また、Processing2.xでは、一部機能(Fullscreen APIのキー入力での操作)が使えないため推奨されません。
FullScreen APIでは、size()
で指定できる数値が決まっていて、非対応の場合、コンソールに
「FullScreen API: Display mode not supported: width x height」
と表示されます。
一般的なモニタ解像度が対応していると考えられるので、それに合わせてsize()
を決めると正常に使えるはずです。
モニタ解像度の一覧
Fullscreen APIを使う
import fullscreen.*;
FullScreen fs;
void setup() {
size(640, 480);
fullScreen();
fs = new FullScreen(this);
fs.enter();
}