.. note:: こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。 **参加する理由は?** - **エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。 - **学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。 - **独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。 - **特別割引**:最新製品の独占割引をお楽しみください。 - **祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。 👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう! .. _1.15_scratch: 1.15 風船を膨らます ========================== 今回は、風船を膨らませるゲームをプレイします。 スライドを左に切り替えて風船を膨らませることで開始します。この時、風船はどんどん大きくなります。風船が大きすぎると爆発します。小さすぎると空に浮かびません。ポンピングを止めるためにスイッチを右に切り替えるタイミングを判断する必要があります。 .. image:: img/1.15_header.png 必要な部品 ------------------------------ このプロジェクトには、以下の部品が必要です。 .. image:: img/1.15_component.png キット全体を購入するのは確かに便利です。以下がリンクです: .. list-table:: :widths: 20 20 20 :header-rows: 1 * - 名前 - このキットのアイテム - リンク * - Raphael Kit - 337 - |link_Raphael_kit| 以下のリンクから部品を個別に購入することもできます。 .. list-table:: :widths: 30 20 :header-rows: 1 * - コンポーネントの紹介 - 購入リンク * - :ref:`cpn_gpio_board` - |link_gpio_board_buy| * - :ref:`cpn_breadboard` - |link_breadboard_buy| * - :ref:`cpn_wires` - |link_wires_buy| * - :ref:`cpn_resistor` - |link_resistor_buy| * - :ref:`cpn_slide_switch` - |link_slide_switch_buy| * - :ref:`cpn_capacitor` - |link_capacitor_buy| 回路を組む --------------------- .. image:: img/1.15_scratch_fritzing.png コードをロードして結果を確認する --------------------------------------- Scratch 3に( ``1.15_inflating_the_balloon.sb3`` )のコードファイルをロードします。 スライダーを左に切り替えて風船を膨らませることで開始します。この時、風船はどんどん大きくなります。風船が大きすぎると爆発します。風船が小さすぎると空に浮かびません。ポンピングを止めるためにスイッチを右に切り替えるタイミングを判断する必要があります。 スプライトに関するヒント --------------------------------- 前のSprite1スプライトを削除し、 **Balloon1** スプライトを追加します。 .. image:: img/1.15_slide1.png :width: 400 このプロジェクトでは、風船の爆発音効果を使用しています。どのように追加されたか見てみましょう。 上部の **Sound** オプションをクリックし、 **Upload Sound** をクリックして ``~/raphael-kit/scratch/sound`` パスから ``boom.wav`` をScratch 3にアップロードします。 .. image:: img/1.15_slide2.png コードに関するヒント ------------------------------- .. image:: img/1.15_slide3.png :width: 500 これはイベントブロックで、トリガ条件はgpio17が高い、つまりスイッチが左に切り替えられた場合です。 .. image:: img/1.15_slide4.png :width: 400 Ballon1スプライトのサイズの閾値を120に設定します。 .. image:: img/1.15_slide7.png :width: 400 Balloon1スプライトの座標を(0,0)に移動します。これはステージエリアの中心です。 .. image:: img/1.15_slide8.png :width: 300 Balloon1スプライトのサイズを50に設定し、ステージエリアに表示します。 .. image:: img/1.15_slide5.png 風船を膨らますためのループを設定します。このループは、スライダースイッチが右に切り替えられたときに停止します。 このループ内で、風船のサイズは0.1秒ごとに1増加し、 ``maxSize`` よりも大きければ風船は破裂し、その時点でブーム音が鳴り、コードが終了します。 .. image:: img/1.15_slide6.png :width: 600 最後のループが終了した後(スライダーが右に切り替えられた後)、Balloon1スプライトの位置をそのサイズに基づいて判断します。Balloon1スプライトのサイズが90よりも大きい場合、離陸(座標を(0, 90)に移動)します。そうでなければ、着陸(座標を(0, -149)に移動)します。