mywayなプログラミング生活ブログ

プログラミング関連の記事を書いています。作る様子がわかる様に動画も作っています。

Scratch2(スクラッチ2)で壁打ちゲームを作ろう(5回目)

myway@おじさんです。
前回の続きで、障害物にボールが当ったときの動きについて説明したいと思います。


動作環境について
OS:MAC OS X(Windowsでも操作はほとんど変わりません)
エディタ:Scratch offline editor(ver.456)

1.準備

前回保存したプロジェクトを開いて下さい。
画面右上の「ファイル」をクリックしてから、「ひらく」をクリックして、プロジェクトを開いて下さい。

2.なにがおかしかったのか?

答えとしては、「Ball」が「Apple」にあたった時、「Ball」がはね返える向きがおかしいのです。
下の図をみてください。

f:id:mywayhaojisan:20170728165748p:plain
今のスクリプトでは、上の様な動きをします。
「Ball」が右上から当ったら、左上ににはね返ってしまいます。
では、正しい動きはとは?

f:id:mywayhaojisan:20170728165807p:plain
右上から当ったら右下にはね返えるのが正しい動きと思います。

3.どうすればよいのか?

以前、「Paddle」のはね返えるスクリプトを考えた時のように、計算式で答えを出す事ができます。
「Paddle」の時のはね返りは「横へのはね返り」でした。
今回は、「縦へのはね返り」になります。
下の図で考えてみましょう。

f:id:mywayhaojisan:20170728165807p:plain
1の「Ball」の向きが「225」だった場合、「Apple」に当って跳ね返った後の「Ball」の向きは「135」となります。

では、式にしてみます。
「225+135=360」

「縦のはね返り」の場合、はね返える前の向きとはね返った後の向きを足すと「360」になります。
この式をスクリプトで書ける形に変えると、
「225+135=360」
→「225+135-225=360-225」
→「135=360-225」
→「360-225=135」
となります。

4.「Ball」のスクリプト

Apple」に「Ball」が当ったとき、縦にはね返えるように変更します。

f:id:mywayhaojisan:20170728165844p:plain
変更したのは、「もしAppleにふれたなら」の中にある「180-むきどにむける」を「360-むきどにむける」に変更しました。

ここで、「緑のはた」をクリックして動かしてましょう。
Apple」に「Ball」が当ったら、縦にはね返えると思います。


今回はここまでです。
作ったら、必ず、「ほぞん」をするように心がけて下さい。

それと、今回も動画がありますので、よければ、参考にしていただければと思います。

youtu.be



次回は、リンゴの上に当たれば上へ、右に当たれば右へ、はね返えるようにしたいと思います。


最後まで読んで頂いてありがとうございます。
皆さんに少しでもお役に立てれば幸いです。

<<壁打ち(4回目) 壁打ち(6回目)>>