中高生向け 無料プログラミング体験 受付中

中高生向けコースの11期生は2019年10月スタートです。

無料体験の申し込みはこちら

Processing Ver.3でキー操作が効かないことがある?

Processingのバージョン3でkeypressedを使用したプログラムを作成すると、プログラムを実行するたびにキー操作が効いたり、効かなかったりすることがあります。いろいろ調べてみると開いたウインドウにフォーカスが当たっていないことがあるためだとわかりました。バージョン2ではこのような問題はありませんでした。
下記のようにフォーカスを当てるようにすると解決しました。
フレームカウント、キーを押したかどうか、マウスを押したかどうか、フォーカスが当たっているかどうかを表示するようにしています。

void setup() {
  size(640, 480);
  ((java.awt.Canvas) surface.getNative()).requestFocus();
}

void draw() {
  println(frameCount, keyPressed, mousePressed, focused);
}