2.17 GAME - 釣りゲーム

ここではボタンを使った釣りゲームを行います。

スクリプトが実行されると、魚がステージ上を左右に泳ぎます。魚がフックに近づいたとき(長押しを推奨)ボタンを押して魚を捕まえ、捕まえた魚の数は自動的に記録されます。

../_images/18_fish.png

必要な部品

このプロジェクトには以下のコンポーネントが必要です。

全キットを購入するのが確実に便利です。こちらがリンクです:

名前

このキットのアイテム

リンク

ESP32 Starter Kit

320+

ESP32 Starter Kit

また、以下のリンクから個別に購入することもできます。

コンポーネントの紹介

購入リンク

ESP32 WROOM 32E

BUY

ESP32カメラ拡張ボード

-

ブレッドボード

BUY

ジャンパーワイヤ

BUY

抵抗器

BUY

ボタン

BUY

回路の構築

ボタンは4ピンデバイスで、ピン1がピン2に、ピン3がピン4に接続されており、ボタンを押すと4つのピンが接続され、回路が閉じます。

../_images/5_buttonc.png

以下の図に従って回路を構築してください。

  • ボタンの左側のピンの一つをピン14に接続し、プルダウン抵抗と0.1uF(104)キャパシタ(ボタン作動時にジッタを消去し、安定したレベルを出力するため)に接続します。

  • 抵抗とキャパシタのもう一方の端をGNDに、ボタンの右側のピンの一つを5Vに接続します。

../_images/6_doorbel_bb.png

プログラミング

まず Underwater の背景を選択し、 Fish スプライトを追加してステージ上で行き来させます。次に Fishhook スプライトを描き、ボタンで制御して釣りを始めます。 Fish スプライトがフック状態(赤色に変わる)で Fishhook スプライトに触れると、フックされます。

1. 背景の追加

Choose a Backdrop ボタンを使って Underwater の背景を追加します。

../_images/18_under.png

2. フィッシュフックスプライト

Fishhook スプライトは通常、黄色い状態で水中に留まります。ボタンが押されると、釣り状態(赤)になり、ステージ上に移動します。

Pictobloxには Fishhook スプライトがないため、 Glow-J スプライトを修正してフィッシュフックのように見せることができます。

  • Choose a Sprite から Glow-J スプライトを追加します。

../_images/18_hook.png
  • 今、 Glow-J スプライトの Costumes ページに移動し、画面のシアンの塗りを選択して削除します。次に、Jの色を赤に変更し、幅を縮小します。最も重要な点は、その上部がちょうど中心点にあるようにする必要があります。

../_images/18_hook1.png
  • Line tool を使用して、中心点から上にできるだけ長い線を引きます(ステージ外の線)。スプライトを描いたら、スプライト名を Fishhook に設定し、適切な位置に移動します。

../_images/18_hook2.png
  • 緑の旗がクリックされたら、スプライトの色効果を30(黄色)に設定し、初期位置を設定します。

../_images/18_hook3.png
  • ボタンが押されたら、色効果を0(赤、釣り状態を開始)に設定し、0.1秒待ってから Fishhook スプライトをステージの上部に移動します。ボタンを離して Fishhook を初期位置に戻します。

../_images/18_hook4.png

3. 魚スプライト

Fish スプライトが達成する効果は、ステージ上を左右に移動し、釣り状態の Fishhook スプライトに遭遇すると、縮小して特定の位置に移動してから消え、その後新しい fish スプライトをクローンします。

  • 今、 fish スプライトを追加し、そのサイズと位置を調整します。

../_images/18_fish1.png
  • score 変数を作成して捕まえた魚の数を格納し、このスプライトを隠してクローンします。

../_images/18_fish2.png
  • fish スプライトのクローンを表示し、コスチュームを切り替えて最終的に初期位置を設定します。

../_images/18_fish3.png
  • fish スプライトのクローンが左右に動き、端に触れると跳ね返ります。

../_images/18_fish4.png
  • fish スプライトのクローンは、 Fishhook スプライトを通過する際に反応しません。釣り状態(赤に変わる)の Fishhook スプライトに触れると、捕まえられ、その時点でスコア(変数score)+1となり、スコアアニメーションも表示されます(40%縮小し、速やかにスコアボードの位置に移動して消えます)。同時に新しい魚が作成され(新しい魚スプライトのクローン)、ゲームは続きます。

注釈

[Touch color]ブロック内の色領域をクリックし、ステージ上の Fishhook スプライトの赤色をピペットツールで選択する必要があります。任意の色を選んだ場合、この[Touch color]ブロックは機能しません。

../_images/18_fish5.png