.. include:: /index.rst :start-after: start_hello_message :end-before: end_hello_message レッスン7:赤外線障害物アニメーションを作成しよう ===================================================== これまでのミッションでは、赤外線障害物回避モジュールを使用して、本物のマーズローバーが赤い惑星を航行するように、GalaxyRVRが自動的に障害物を回避できるようにしました。 ここでは、物理的なIRセンサーと仮想の火星の風景を組み合わせて、さらに一歩進めましょう。実際のIRセンサーを手でトリガーしてローバーのスプライトを制御する、エキサイティングなアニメーションゲームを作成します! .. raw:: html 学習目標 ------------------------- * 赤外線障害物回避モジュールがマーズローバーをどのように動かすかを発見する * IRセンサーデータを使用してScratchアニメーションのキャラクターを制御する方法を学ぶ * 実際のセンサーを使って岩を避ける、自分だけの火星探検ゲームを構築する アニメーションシーンの作成 ---------------------------- #. まず、:ref:`app_connect` を行います。 #. 火星をテーマにした背景の設定 * まず、火星をテーマにしたステージ背景が必要です。背景を選択するためにクリックします。 .. image:: img/5_animate_choose.png * **火星** の背景を選択します。 .. image:: img/5_animate_mars.png #. ローバーキャラクターの追加 ライブラリから **GalaxyRVR** スプライトを選択し、シーンに適したサイズに調整します。 .. image:: img/5_animate_rvr.png #. 障害物の追加 ライブラリから **Rocks** スプライトを選択し、サイズを調整します。 .. image:: img/5_animate_rock.png GalaxyRVRスプライトのプログラミング ------------------------------------------ GalaxyRVRスプライトをプログラムして、画面を左から右に移動させましょう。ミッションは、岩を安全に避けて通過させることです!実際のローバーのIRセンサーを手でトリガーします。右センサーでスプライトが下に移動し、左センサーで上に移動します。 #. スプライトをステージの左端に移動して開始位置を設定します。動きブロックが正しい座標で自動的に更新されます。 .. image:: img/5_animate_glide.png #. メインプログラムループを作成するために、ずっとブロックを追加します。 .. image:: img/5_animate_forever.png #. 条件ブロックを含めて、ローバーが岩の障害物に触れているかどうかを確認します。 .. image:: img/5_animate_touching.png #. 岩が検出されなければ、右側に向かって前進し続けます。 .. image:: img/5_animate_moving.png #. ローバーが岩に衝突した場合は、すべての動きを停止し、警告メッセージを表示します。 .. image:: img/5_animate_say.png #. センサー制御を追加します。手でトリガーされたときにスプライトを上(左センサー)または下(右センサー)に移動する、両方のIRセンサーのイベントを作成します。 .. image:: img/5_animate_y.png 岩スプライトのプログラミング ------------------------------------ ゲームをより難しくするために、複数の岩の障害物を作成しましょう!クローンを使用して、ステージ上のランダムな位置に岩を生成します。 #. 「自分自身のクローンを作成する」ブロックを使用して岩のクローンを作成します。 .. image:: img/5_animate_clone.png #. 「ランダムな位置へ行く」ブロックを追加して、各クローンをランダムな場所に表示します。 .. image:: img/5_animate_clone_move.png :width: 200 #. クローン作成を10回繰り返して、10個の岩を生成します。 .. image:: img/5_animate_clone_10.png :width: 200 #. このすべてのアクションを緑色の旗がクリックされたときに開始するように設定します。 .. image:: img/5_animate_clone_flag.png :width: 200 ミッション開始! ---------------------------- おめでとうございます!火星障害物回避ゲームの準備ができました。 GalaxyRVRをアプリに接続し、緑色の旗をクリックしてミッションを開始しましょう。火星の風景に岩がランダムに現れるのを見てください。 チャレンジ:手を使ってIRセンサーをトリガーし、GalaxyRVRスプライトを慎重に画面の向こう側に導きましょう。上下に動かして岩を避け、右側に安全に到達してください! 衝突せずにミッションを完了できますか?障害物コースをどれだけ速くナビゲートできますか?練習を重ねて、マーズローバーのマスターパイロットを目指しましょう!