.. include:: /index.rst
:start-after: start_hello_message
:end-before: end_hello_message
.. _sc_shooting:
お楽しみプロジェクト3 シューティング
====================================
テレビで放映されるスリリングな射撃ゲームを観たことがありますか? 出場者が見事に的の中心を狙って得点を重ねるあのゲームです。今度は、その興奮を Scratch で体験できます! このインタラクティブなシューティングゲームでは、クロスヘアスプライトを使って狙いを定め、的の中心にできるだけ近づけて、正確なショットごとに最大のスコアを獲得します。
開始するには、緑色の旗をクリックしてください。革新的な障害物回避モジュールを使用してショットをコントロールします。狙いと反射神経を試す準備はできましたか? あなたのスコアを見せてください!
.. raw:: html
以下は、プロジェクトを実装するための手順です。最初はこれらの手順に従うことをお勧めします。慣れてきたら、お好みに応じてエフェクトを変更しても構いません。
1. **クロスヘア** スプライトを描く
----------------------------------------------
* デフォルトのスプライトを削除し、 **スプライト** ボタンを選択して ** ペイント** をクリックします。
.. image:: img/shooting_paint_cross.png
* **コスチューム** ページに移動します。** 円** ツールを使用し、塗りつぶしの色を削除して、輪郭の色と幅を設定します。
.. image:: img/shooting_paint_cross1.png
* **円** ツールで円を描きます。描画後、** 選択** ツールを使用して、円の中心をキャンバスの中心に合わせます。
.. image:: img/shooting_paint_cross2.png
* **線** ツールで、円の中に十字線を描きます。
.. image:: img/shooting_paint_cross3.png
* 最後に、 **コード** ページに戻り、スプライトの名前を「Crosshair」に変更します。
.. image:: img/shooting_paint_cross4.png
2. **ターゲット** スプライトを描く
----------------------------------------
* 同様に、 **スプライト** ボタンを選択し、** ペイント** をクリックします。
.. image:: img/shooting_paint_target1.png
* **コスチューム** ページに入ります。** 円** ツールを使用し、黒色を選択して輪郭を削除し、大きな円を描きます。
.. image:: img/shooting_paint_target3.png
:width: 90%
* 同じ方法で追加の円を描き、それぞれ異なる色にします。 **前方へ** または ** 後方へ** ツールを使用して重なり合う円の位置を調整し、すべての円の原点がキャンバスの中心に合うようにします。
.. image:: img/shooting_paint_target4.png
:width: 90%
* **コード** ページに戻り、このスプライトの名前を「Target」に変更します。
.. image:: img/shooting_paint_target5.png
3. 背景を追加する
--------------------------
* できれば色が控えめで、 **Target** スプライトの色と一致しない適切な背景を追加します。ここでは **Wall1** 背景を選択しました。
.. image:: img/shooting_choose_backdrop.png
* **Target** スプライトと **Crosshair** スプライトの位置とサイズを調整します。
.. note::
* **Crosshair** スプライトが **Target** スプライトの上に重なるように、最初に **Target** スプライトを移動し、次に **Crosshair** を移動します。
* **Crosshair** は **Target** スプライトの色のリング間のスペースよりも小さくする必要があります。
.. image:: img/shooting_choose_backdrop1.png
4. **クロスヘア** スプライトのスクリプト
-------------------------------------------
* **Crosshair** スプライトの位置とサイズをランダム化し、予測不能に動くようにします。
.. image:: img/shooting_script_cross.png
* 左側の障害物回避モジュールが遮られると、メッセージ(shooting)がブロードキャストされます。
.. image:: img/shooting_script_cross1.png
* **shooting** メッセージを受信すると、スプライトは動きを停止し、徐々に縮小します。これが弾丸の発射をシミュレートしています。
.. image:: img/shooting_script_cross2.png
* [色に触れた] ブロックを使用して、ショットの位置を判定します。
.. image:: img/shooting_script_cross3.png
:width: 90%
* ショットが黄色い円の内側に入った場合、スコア 10 を報告します。
.. image:: img/shooting_script_cross4.png
* ショットが赤い円の内側に入った場合、スコア 9 を報告します。同様に、[色に触れた] ブロックを使用して赤い円の色に一致させます。
.. image:: img/shooting_script_cross5.png
:width: 90%
* 同じ方法を使用して弾丸の着弾位置を確認します。 **Target** スプライトに当たらなかった場合は、ミスとなります。
.. image:: img/shooting_script_cross6.png
プログラミングは完了です。緑色の旗をクリックしてスクリプトを実行し、期待通りの効果が得られるか確認してみてください。
.. raw:: html