1.9 風船を膨らませる

ここでは、バルーニングのゲームをします。

スライドを左に切り替えてバルーンを膨らませ始めると、この時点でバルーンはどんどん大きくなります。 風船が大きすぎると爆発します。 気球が小さすぎると空中に浮きません。 ポンプを停止するには、スイッチを右に切り替えるタイミングを判断する必要があります。

../_images/1.15_header.png

必要な部品

../_images/1.15_component.png

回路を構築する

../_images/1.15_scratch_fritzing.png

コードをロードして、何が起こるかを確認します

コードファイル( 1.9_inflating_the_balloon.sb3 )をScratch3にロードします。

スライダーを左に切り替えてバルーンを膨らませ始めると、この時点でバルーンはどんどん大きくなります。 風船が大きすぎると爆発します。 気球が小さすぎると空中に浮きません。 ポンプを停止するには、スイッチを右に切り替えるタイミングを判断する必要があります。

Spriteに関するヒント

前のSprite1 spriteを削除してから、Balloon1 spriteを追加します。

../_images/1.15_slide1.png

このプロジェクトでは風船爆発効果音を使用しているので、どのように追加されたか見てみましょう。

上部の Sound オプションをクリックし、Upload Sound をクリックして、 boom.wavhome/pi/davinci-kit-for-raspberry-pi/scratch/sound パスからScratch3にアップロードします。

../_images/1.15_slide2.png

コードに関するヒント

../_images/1.15_slide3.png

これはイベントブロックであり、トリガー条件はGPIO17がハイである、つまりスイッチが左に切り替えられることです。

../_images/1.15_slide4.png

Ballon1 spriteのサイズしきい値を120に設定します。

../_images/1.15_slide7.png

Balloon1 spriteの座標を、stage areaの中心である(0,0)に移動します。

../_images/1.15_slide8.png

Balloon1 spriteのサイズを50に設定し、stage areaに表示します。

../_images/1.15_slide5.png

バルーンを膨らませるループを設定します。このループは、スライダースイッチを右に切り替えると停止します。

このループ内で、バルーンサイズは0.1秒ごとに1ずつ増加し、 maxSize より大きい場合はバルーンが破裂し、その時点でブーム音が鳴り、コードが終了します。

../_images/1.15_slide6.png

最後のループが終了した後(スライダーが右に切り替わります)、サイズに基づいてBalloon1 spriteの位置を決定します。 Balloon1 spriteのサイズが90より大きい場合は、持ち上げて(座標を(0,90)に移動します)、 そうでない場合は着陸します(座標を(0,-149)に移動します)。