ボールが跳ね返るスクラッチプログラム

ボールが跳ね返るプログラムの見本

スクラッチでボールが端にあたると跳ね返り、ボール同士がぶつかったときにも跳ね返るプログラムの見本です(実行するとボールは自動的に動き出します)。

 

2つのボールをスプライトとして用意

まずは2つのボールをスプライトとして用意します。
見本では野球のボールバスケットボールを使っています。

 

背景は何でもよいのですが、端にあたったときに跳ね返るプログラムにしているので、「Blue Sky2」のような上下左右に絵がないほうが見やすくてオススメです。

 

ボールが跳ね返るスクラッチのプログラム見本

スプライトと背景が準備出来たら、プログラミング開始です。
2つのボールそれぞれにプログラムを組みますが、ここでは片方のプログラムを紹介します。

スクラッチのボールが跳ね返るプログラム

【プログラム解説】
最初にボールに角度をつけることでボールが斜めに動き出します。

 

ずっと」の中の最初にあるのは、ボールを動かす動きと端で跳ね返るプログラムです。

 

もし(Baseball)に触れたなら」から下がボール同士がぶつかったときの動き(跳ね返り方)のプログラムです。

 

そのときのボールの「向き」によって跳ね返る方向を計算する方法が違うのでで2つに分かれています。

現実に2つのボールがぶつかったときの跳ね返り方と、このプログラムでの跳ね返り方は違います。プログラムは、あくまでそれらしく見える動きです。

 

跳ね返る向きの計算プログラムを詳しく解説

スクラッチのスプライトには「向き」があります。
スクラッチの向き(角度)

 

右を向くのが90度、左を向くのが−90度で、真下が180度。
範囲は0度から180度(右側)と−1度から−180度(左側)です。

 

見本プログラムではこの向きを正反対にする計算を行っています。
正反対にすることで跳ね返っているように見せているのです。

 

似ているようですが違うので注意

プログラムの「180−向き×−1度に向ける」は、似てるようですが上と下では違います。

  • 【上】180−(向き×−1)
  • 【下】(180−向き)×−1

【上】はスプライトの元の角度(向き)がマイナス(0未満)なので、−1をかけてマイナスをプラスにしています。その後に180から引いているので、答えはプラスの数字となります。

 

【下】はスプライトの元の角度(向き)がプラス(0以上)なので、先に180からその数字を引いて。その後に−1をかけて、数字をマイナスに(向きを反対に)しています。

 

野球のボールにも同じプログラムを組んで実行

2つあるぼーつのうちバスケットボールのほうのプログラムを紹介しましたが、もうひとつの野球のボールのほうにも同じプログラムを組みます。

 

ただし、最初のボールに角度をつける数字(●●度回す)はバスケットボールと野球のボールで違っていてもOKです。それでは、ボールが跳ね返るプログラムに挑戦してみてください。

 

先生向け学校ICT関連書籍

オンライン授業Excel活用働き方改革
詳細はコチラ⇒オンライン授業でのGoogleフォーム活用法詳細はコチラ⇒先生向けエクセル講座「校務Excel」詳細はコチラ⇒ホームページ改善から始める働き方改革
page top