◆PROCESSING 逆引きリファレンス
カテゴリー:キーボード・マウス処理
キーが離された事を判定するには
システム定数 keyPressed を調べるキーボードが押されている間 trueになるシステム変数です。キーが離されていると false になります。これを draw()関数の中で適度な間隔で検査すれば、キーが離されているかどうかを判別可能です。
●keyReleased()関数でキーを離したイベントを捕まえる
離された瞬間をタイムリーにつかまえたいなら、keyReleased()関数でキーが離されたタイミングで処理を行うのが良いでしょう。keyReleased() 関数は押されていたキーが離される度に呼び出されます。
【構文】
システム変数:
boolean keyPressed ;
イベント関数:
void keyReleased(){ … }
【パラメータ】
なし
【戻り値】
void
【注意】
システム変数のkeyPressedは、キーが離されるとfalseとなりますが、draw()関数のループ間隔が長い(秒単位など)と、離された瞬間を検知する精度が落ちます。
【関連記事】
押された(離された)キーが何か調べるには
キーが押された事を判定するには
第3章:改定版-タイトル画面を作成しよう(その7)
●キーが離されたら処理する例1:
1 2 3 4 5 6 7 8 9 10 11 12 |
void setup(){ size( 300,300 ); frameRate(60); } void draw(){ background(255); if( keyPressed == false ){ fill(100,100,255); ellipse( width/2, height/2, 32, 32 ); } } |
上記サンプルを実行すると、キーが離されている時だけ、画面中央に青い丸が描かれます(キーが押されると、青丸が消えます)。
上記サンプルでは、描画処理関数(draw)の中で、keyPressedシステム変数をチェックし、キーが離されているかどうかを判定しています。
●キーが離されたら処理する例2:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
color c; float r,g,b; void setup(){ size( 300,300 ); frameRate(60); r = 255; g = 255; b = 255; c = color(r, g, b); } void draw(){ background(c); } void keyReleased(){ r = random(0,256); g = random(0,256); b = random(0,256); c = color(r, g, b); } |
上記を実行すると、キーが離されたタイミングでランダムな色を生成し、背景色を変更します。
本ページで利用しているアイコン画像は、下記サイト様より拝借しております。各画像の著作権は、それぞれのサイト様および作者にあります。