LoginSignup
16
23

More than 3 years have passed since last update.

各Processingのバージョンでフルスクリーン表示にする方法

Last updated at Posted at 2016-03-02

Processingでフルスクリーン

はじめに

Processingではフルスクリーン表示を行う様々な方法が用意されています。
しかし、バージョンによって使えない方法があります。
環境に合わせて適切な方法でフルスクリーン表示を行いましょう。

Presentで実行(全バージョン共通)

とにかくフルスクリーン表示にしたい場合は、
Sketch->PresentまたはCtrl+Shift+Rでフルスクリーンで実行できます。
ウィンドウが画面中央に表示され、余白はグレーになります。また、左下のstopボタンで終了させることもできます。
size()で、ディスプレイと同じサイズを指定すれば、当然ウィンドウは画面の最大サイズになります。
この機能は全バージョン共通して使うことができます。

fullScreen()を使う(バージョン3.0以上)

void setup()内にfullScreen()を書くことで簡単にフルスクリーン表示にすることができます。
しかし、この方法はProcessing3.0以上でなければ使えません。
また、この場合widthheightは画面の大きさ(displayWidthdisplayHeight)になります。そして、size()を使うことができなくなります。

fullScreen()を使う
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が使えなくなったのでこの方法は使えません。

size()を使う
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(); 
}
16
23
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
23