おはようございますUdemy講師のダダです
今回はProcessingでキーボード入力についてやっていきます
Processingでは、キーボド操作ができるプログラムを作ることができます
キーボード操作って何?
キーボード操作やマウス、の操作はパソコンを使うときの基本中の基本です。
とありますが、Processingでは、実行した作品に対してキーボードを操作しても反応がありません
しかしコードをコードを入力することで作った作品をゲームのようにキーボードで操作できるようになります
作品例① キーボードを押した内容が表示されるコード
1 2 3 4 5 6 7 8 9 10 11 12 |
str = "" def setup(): size(600, 100) textSize(30) def draw(): background(100) text(str, 10, 50) def keyPressed(): global str str = "key={0} keyCode={1}".format(key, keyCode) |
手順①:アニメーション作成
入力した文字を実行画面に出力していく
内容のコードです
setup と derw関数を使用してアニメーションの作成
アニメーションの作成についてはこちらから
手順②:イベントハンドラーでキーボド操作の関数を定義します
イベントハンドラーとは、キーボードやマウスを操作した時に実行される関数のこと
こちら ← 関数について知りたい方
以下にProcessingで実行できる関数の一覧を確認してください
イベントハンドラ | 内容 |
keyPressed() | キーが押されるたびに 1 回呼び出されます |
keyReleased() | キーが離されるたびに 1 回呼び出されます |
mousePressde() | マウスが押すたびに1回実行されます |
mouseReleased() | マウスが離されるたびに実行されます |
mouseClicked() | マウス ボタンが押されて離された後に呼び出されます |
mouseMoved() | マウスが移動し、マウスボタンが押されないたびに呼び出されます ※ボタンが押されている場合は代わりにmouseDragged()が呼び出されます |
mouseDragged | マウス ボタンが押されている間にマウスが移動するたびに 1 回呼び出されます ※ボタンが押されていない場合は、代わりにmouseMoved()が呼び出されます |
mouseWheel() | マウスホイールが下へ(正)マウスホイールが上へ(負) |
手順②:イベントハンドラーと変数の違い
・イベントハンドラー(関数を定義する場合)
Processingでは、イベントハンドラーというものが用意されており
キーボードやマウスの操作が行われた際に実行する関数定義できます
そのため、一度操作を行うと持続的にコードが実行されます
・変数を定義をする場合
キーボードやマウス操作を行うごとに実行します
手順③formatを使用し文字列に入力したキーを出力します
formatを使用することで、変化する変数内のデータを文字列に組み込むことができます
こちら ← 変数について知りたい方
使用できる変数
変数 | 内容 |
key | システム変数keyには、使用された (押された、または離された) キーボードの最新のキーの値が常に含まれています |
keyCode | 変数keyCode は、 UP、DOWN、LEFT、RIGHT 矢印キー、および ALT、CONTROL、SHIFT などの特殊キーを検出するために使用されます。 これらのキーを確認するときは、まずキーがコード化されているかどうかを確認する必要があります。 これは、例に示すように「if (key == CODED)」という条件付きで行われます |
keyPressde | いずれかのキーが押された場合、Boolean システム変数keyPressedはTrueになり、 キーが押されていない場合はFalseになります |
mousePressed | mousePressed変数は、マウス ボタンが現在押されているかどうかを格納します。 いずれかのマウス ボタンが押されている場合、値は True になり、ボタンが押されていない場合は False になります。 mouseButton変数(参照)を使用して、どのボタンが押されたかを判別できます |
mouseButton | マウス ボタンが押されると、押されたボタンに応じて、 システム変数mouseButton の値がLEFT、RIGHT、またはCENTERのいずれかに設定されます |
作品例②十字キーで円を動かそう
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
str = "" #空の文字列 x, y = 400, 200 def setup(): size(800, 400) textSize(30) def keyPush(): global info background(100) str = "key={0} keyCode={1}".format(key, keyCode) if keyPressed: str = "keyPressed" if mousePressed: str = "mousePressde" text(str, 10, 30) def draw(): ellipse(x, y, 50, 50) def keyPressed(): global x, y keyPush() #ellipse(x, y, 50, 50) if keyCode == UP: y -= 10 if keyCode == DOWN: y += 10 if keyCode == LEFT: x -= 10 if keyCode == RIGHT: x += 10 |
まとめ
実際に自分が操作をして、動く物ができるともっとプログラミングが楽しくなってくるので
皆さんもやってみたください
Pythonを学びたい方はこちらの記事を参考にしてみてください
関連記事
プログラミング学習を進めているけれど、まだ副収入につなげられていない…そんなあなたへ!今こそ、学んだスキルを活かして副業に挑戦する絶好のチャンスです。プログラミングだけでなく、自分のスキルや商品をネットで販売する『ネットショップ』を開設してみませんか?
ネットショップを持つことで、自分の知識やスキルをより多くの人に届け、副収入を得ることが可能です。学んできたプログラミングを活かして、ショップのカスタマイズや運営も自由自在に行えますし、もし商品作成が難しい場合でも、デジタル商品やサービス提供など、いろんな選択肢があります。
このステップで一歩踏み出せば、今学んでいることが副収入に直結し、自分の時間をより有効に使うことができるはずです!一緒にネットショップを開設し、副業の第一歩を踏み出しましょう!
タイトルテキスト
プログラミングを学びたいけど、どこから始めたらいいのか分からない、自分に合っているか不安…そんな悩みを持っている方におすすめしたいのが、 無料相談 サービスです!
この無料相談では、あなたの現状や目標に合わせて、最適な学習プランを一緒に考えてくれます。どんなスキルが必要なのか、どうやって学習を進めると効果的かを具体的にアドバイスしてもらえるので、無駄なく効率的にスタートを切ることができます。
さらに、プログラミング学習には同じ目標を持つ 仲間 がいること、そして頼りになる メンター の存在がとても大きな支えになります。独学ではどうしてもつまずきやすい部分も、メンターがあなたの成長に合わせて親身にサポートしてくれるので、安心して学びを進められます。
まずは 無料相談 で、あなたに合ったプランを見つけて、スキルアップへの第一歩を踏み出してみませんか?今なら、迷っている方でも気軽に相談できるチャンスです!