.. note:: こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。 **参加する理由は?** - **エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。 - **学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。 - **独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。 - **特別割引**:最新製品の独占割引をお楽しみください。 - **祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。 👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう! .. _sh_fishing: 2.19 ゲーム - 釣り =========================== このゲームでは、ボタンを使って釣りを楽しむことができます。 スクリプトを実行すると、魚がステージの左右を泳ぐので、魚が釣り針に近づいたとき(長押し推奨)にボタンを押して魚を釣ります。釣れた魚の数は自動的に記録されます。 .. image:: img/18_fish.png 必要な部品 --------------------- このプロジェクトには、以下の部品が必要です。 全ての部品を含むキットを購入すると非常に便利です。リンクはこちら: .. list-table:: :widths: 20 20 20 :header-rows: 1 * - 名前 - このキットのアイテム - リンク * - 3 in 1 Starter Kit - 380+ - |link_3IN1_kit| 以下のリンクから、個別にも購入できます。 .. list-table:: :widths: 30 20 :header-rows: 1 * - コンポーネントの紹介 - 購入リンク * - :ref:`cpn_uno` - |link_Uno_R3_buy| * - :ref:`cpn_breadboard` - |link_breadboard_buy| * - :ref:`cpn_wires` - |link_wires_buy| * - :ref:`cpn_resistor` - |link_resistor_buy| * - :ref:`cpn_capacitor` - |link_capacitor_buy| * - :ref:`cpn_button` - |link_button_buy| 回路の作成 ----------------------- ボタンは4ピンのデバイスで、ピン1はピン2に、ピン3はピン4に接続されています。ボタンを押すと、4つのピンが接続されて回路が閉じます。 .. image:: img/5_buttonc.png 以下の図に従って回路を組み立てます。 * ボタンの左側のピンの一つを、プルダウン抵抗と0.1uF (104) のキャパシタ(ボタンが動作する際のジッタを除去し、安定したレベルを出力するため)に接続されているピン12に接続します。 * 抵抗とキャパシタのもう一方の端をGNDに、ボタンの右側のピンの一つを5Vに接続します。 .. image:: img/circuit/button_circuit.png プログラミング ------------------ まず、 **Underwater** の背景を選択し、 **Fish** スプライトを追加してステージ上で左右に泳がせます。次に、 **Fishhook** スプライトを描き、ボタンで制御して釣りを開始します。 **Fish** スプライトがフック状態(赤くなる)で **Fishhook** スプライトに触れると、フックされます。 **1. 背景の追加** **Choose a Backdrop** ボタンを使って、 **Underwater** の背景を追加します。 .. image:: img/18_under.png **2. 釣り針スプライト** **Fishhook** スプライトは通常、黄色の状態で水中に留まっています。ボタンが押されると、釣り状態(赤)になり、ステージの上に移動します。 Pictobloxには **Fishhook** スプライトがありませんので、 **Glow-J** スプライトを修正して釣り針のように見せることができます。 * **Choose a Sprite** で **Glow-J** スプライトを追加します。 .. image:: img/18_hook.png * 次に、 **Glow-J** スプライトの **Costumes** ページに移動し、画面のCyanの塗りつぶしを選択して削除します。その後、Jの色を赤に変更し、その幅も縮小します。最も重要な点は、その上部を中心点ちょうどに配置することです。 .. image:: img/18_hook1.png * **Line tool** を使用して、中心点から上方向に可能な限り長く線を引きます(ステージ外の線)。スプライトが描かれたら、スプライトの名前を **Fishhook** に変更し、適切な位置に移動します。 .. image:: img/18_hook2.png * 緑のフラグがクリックされたとき、スプライトの色効果を30(黄色)に設定し、その初期位置を設定します。 .. image:: img/18_hook3.png * ボタンが押された場合、色効果を0(赤、釣り開始状態)に設定し、0.1秒待った後、 **Fishhook** スプライトをステージの上部に移動します。ボタンを離すと、 **Fishhook** は初期位置に戻ります。 .. image:: img/18_hook4.png **3. 魚スプライト** **Fish** スプライトが達成すべき効果は、ステージの左右に移動し、釣りの状態である **Fishhook** スプライトに遭遇したとき、それを縮小して特定の位置に移動させてから消失させ、新しい **fish** スプライトを再度クローンすることです。 * 今度は **fish** スプライトを追加し、そのサイズと位置を調整します。 .. image:: img/18_fish1.png * 釣れた魚の数を保存する変数 **score** を作成し、このスプライトを隠し、それをクローンします。 .. image:: img/18_fish2.png * **fish** スプライトのクローンを表示し、そのコスチュームを切り替え、最後に初期位置を設定します。 .. image:: img/18_fish3.png * **fish** スプライトのクローンを左右に移動させ、エッジに触れると反射させます。 .. image:: img/18_fish4.png * **Fishhook** スプライトを通過しても、 sss**fish** スプライト(クローンのもの)は反応しません。釣りの状態(赤くなる)で **Fishhook** スプライトに触れると、それが捕まり、その時点でスコア(変数score)+1、そしてスコアアニメーションも表示されます(サイズを40%縮小し、スコアボードの位置に素早く移動して消失)。同時に、新しい魚が作成され(新しい魚スプライトのクローン)、ゲームが続行されます。 .. note:: [Touch color] ブロックの色エリアをクリックして、ステージの **Fishhook** スプライトの赤色を取得するためのアイドロッパーツールを選択する必要があります。適当に色を選択すると、この [Touch color] ブロックは機能しません。 .. image:: img/18_fish5.png