ゲームの動きを変えてみよう
プロジェクトを変更して動きなどを変えてみたり、機能を追加してみたりしましょう。
設定の変更
ゲーム開始時の元気の数を増やす
- 変更するスプライト:
- 初期化の
の「2」を他の数字「3」や「4」などにします。
カニが横に動く速さを変える
- 変更するスプライト:
- 初期化の
の「6」を他の数字にすれば速さが変わります。
数字を大きくするほど速くなります。
カニのビームの速さを変える
- 変更するスプライト:
- スペースキーが押されたときの
の「10」を他の数字にすれば速さが変わります。
数字を大きくするほど速くなります。
鬼の落ちる速さを変える
- 変更するスプライト:
- がクリックされたときの
5を他の数字にすれば速さが変わります。
数字を大きくするほど速くなります。
同じようにしてフルーツやハートの落ちる速さも変えることができます。
鬼の落ちる速さの差を変える
- 変更するスプライト:
- 落ちる時の動きを決めるの
の2を他の数字にすれば落ちる速さがとりうる値の幅が変わります。
(もっとも遅い時ともっとも速い時の差が大きくなります。)
カニのビームを3方向に発射する
「カニのビーム」で3つのクローンを作って、 「-20度」、「0度」、「20度」の3つの方向に動くようにすることで3方向に発射されるようになります。
- スペースキーが押されたとき のコードを以下の様に変更します。
- それぞれのクローンの向き を「-20度」、「0度」、「20度」にしています。
-
- 説明
- 左のコードを追加します。
- コードの詳細
このスクリプトの中でビームを動かすのですが、 y座標を10ずつ変えるではなく 10歩動かすを使用しています。
クローンをつくる際にそれぞれ-20度、0度、20度に向けており、 その方向に進むようにするためにそうしています。
それから、鬼に触れた 場合にこのクローンを削除するようにしています。
変更前は撃墜を受け取ったとき に非表示にするという方法をとっていましたが、 変更後では3つのうちの1つだけが鬼に当たって鬼から 撃墜 が送られた場合でも、 残りの2つのクローンもそれぞれメッセージを受け取って処理を実行してしまうので、 それを避けるために方法を変えています。
撃墜を受け取ったときのスクリプトは実行されないようにしておきます。 ここで削除してしまうと元に戻したくなった場合に新しく作らなければならなくなるので、 削除するのではなく、下の通りにします。
から をはずします。そうすれば撃墜 が送られてきても何もしなくなります。
この2つをまた繋げればもとに戻ります。
- これで3方向に発射されるようになりますが、
実際に動かしてスペースキーを連打すると3方向に発射されなかったり、
動きが遅くなったりする場合があります。
これはクローンもスペースキーが押されたとき イベントを受け取り、それぞれが処理を実行してしまうためです。
それを防ぐためにクローンはスペースキーが押されたとき イベントを受け取っても何もしないようにします。
- 変数クローン?を作ります。 (必ず「このスプライトのみ」を選択してください。)
- がクリックされたときに を追加します。
- クローンされたときの先頭に を追加します。
- スペースキーが押されたときの先頭に
を追加します。
- これでスペースキーを連打しても問題なく3方向に発射されるようになります。
連射の速度をもう少し遅くしたい場合は スペースキーが押されたときの 最後の0.1秒待つの時間を長くしてください。
変更後のスクリプトは以下になります。
新しい敵(コウモリ)を追加する
- 鬼を複製し、それを編集してコウモリを作ります。
ご自身で作るのではなく、できあがったものを見ながら手順だけ確認したいという場合は、
をクリックし、「PC」 - 「ドキュメント」 - 「scratch_samples」 - 「sprite」 にある「コウモリ.sprite3」を選択して追加してください。
- スプライトの鬼を複製します。
- 複製された鬼2のinfoを次のように変更します。
- 鬼のコスチュームを削除し、コスチュームライブラリから「bat1-a」、
「bat1-b」を追加してそれぞれ「通常1」、「通常2」という名前に変更します。
- カニのビームが当たった時のコスチュームを追加して「ダメージ」という名前に変更します。
このコスチュームのサンプルをご用意しています。 そちらを使用する場合は をクリックし「PC」 - 「ドキュメント」 - 「scratch_sampes」 - 「sprite」にある「コウモリ-ダメージ.svg」を選択して追加してください。
をクリックしてライブラリから好きなコスチュームを探すこともできます。
- コスチュームの「通常1」の名前を「通常」にすればこれだけでコウモリも落ちてくるようになります。
ただし見た目がコウモリに変わっただけであり、鬼と同じ動きであるためあまり効果がありません。
コウモリのスクリプトを編集して動きを変えましょう。
主な変更点は次の3つです。 -
- 真っすぐ落ちるのではなく、斜めに落ちるようにします。 画面の端や鬼、フルーツなど他のスプライトに当たったら跳ね返るようにします。 (移動のさせかたもx座標、 y座標の値を変更するのではなく、 向きと ?歩動かすを使った形に変更します。)
- 鬼よりも出現しにくくします。
- 落ちている間は羽ばたくようにします。
緑の旗がクリックされたとき
- コスチュームを通常にするを
コスチュームを通常1にするへ変更します。
大きさを40%から30%へ変更します。
2秒待つを 10秒待つへ変更します。
出現間隔を決める
-
- 説明
- スコアと出現間隔 の関係を左のように変更し、あまり出現しないようにします。
落ちる時の動きを決める
-
- 説明
- 左のコードを追加します。これは140度~170度(右下)もしくは -170度~-140度(左下)のどれかにランダムに決定しています。
クローンされたとき
-
- 説明
- 落ちる時の動きを決める
で決定した向きへ移動するようにするために
左のように変更します。
くり返しの中の最後に跳ね返りを追加します。
跳ね返り
-
- 説明
ブロックを新しく定義し、画面の両端で跳ね返る処理、 鬼、フルーツ、ハートに触れたら跳ね返る処理を書きます。
- コードの詳細
まずもし端に着いたら、 跳ね返るブロックを置きます。
次に他のスプライトに当たった時に跳ね返る処理を書きます。
鬼に触れたり、 フルーツに触れたり、 ハートに触れたりして且つ 跳ね返り中が0であれば 向きに-1をかけて跳ね返る方向にし、 跳ね返り中を1にします。
跳ね返り中が1である間は再び鬼、フルーツ、ハートに触れても 向きを変えないようにします。
3つのどれとも触れていない状態になったら 跳ね返り中を0に戻し、跳ね返ることができるようにします。
向きを変えた直後はまだ他のスプライトに触れているため、 そこでまた向きを変えてしまうと 向きの変更をくり返すだけで そのスプライトから離れることができなくなってしまいます。
それを防ぐために他のスプライトから一旦離れるまで 向きを変えないようにしています。
クローンされたとき
-
- 説明
クローンされたときをもう一つ置き、そちらで羽ばたく動きをさせます。
- コードの詳細
0.3秒ごとに通常1と 通常2を切り替えています。
コスチューム #が 3(ダメージ)になったらくり返しを終了します。
待つ時間を0.3秒よりも短くすれば速く羽ばたき、0.3秒よりも長くすれば遅く羽ばたくようになります。
ちょうどよいと感じる速さに調整してください。
カニのビームに触れた
- 倒した鬼の数を1ずつ変えるを
倒したコウモリの数を1ずつ変えるへ変更します。
倒したコウモリの数はあらかじめ定義してあり、 「ステージ」のスクリプトの中で0に初期化しています。
GAME OVER時に倒したコウモリの数を表示したい場合は「ステージ」の GAME OVERを受け取ったときに 変数「倒したコウモリの数」を表示するを追加してください。
変更後のスクリプトは以下になります。