夏休み短期スクール受付中

「Pythonの基礎」コースと「データサイエンスとAIの初歩」コースがあります。

詳細はこちら

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);
}