炎の型 Scratch 2.0 プログラム入門
  • 炎の型
  • Tennis For Two <難易度 中上>
    • プロジェクトを作る
    • ボールを追加する
    • 自由落下
    • 跳ねる
    • 左右に移動
    • ボールを打つ
    • Coatを作成する
    • 完成
  • Spacewar!<難易度 上下>
    • プロジェクトを作成する
    • 太陽を作る
    • ロケットと重力を作る
    • 旋回機能を作る
    • 推進機能を作る
    • 機雷発射機能を作る
    • 的を作る
    • 完成
  • Pong <難易度 中>
    • プロジェクトを作る
    • ラケットを作る
    • ラケットを上下に移動させる
    • コースを追加
    • ボールを追加
    • ボールを移動させる
    • ボールが跳ね返る機能をついか
    • 勝ち負けを判定する
    • 打つ向きを変える
    • 完成!!
  • Tiny TETRIS<難易度 上上>
    • Table
    • プロジェクトを作る
    • ネコを削除する
    • フィールドを作成する
    • フィールドの状態を記述する
    • フィールドに枠を表示する
    • テトロミノを表示する
    • テトロミノの種類を増やす
    • テトロミノの衝突判定
    • 下に移動する
    • 左右に移動する
    • 回転させる
    • クリアする
    • テトロミノを落下させる
    • 完成!!
  • Dojo:InkRunner <難易度 下上>
    • プロジェクトを作る
    • xxxって何だろう?
    • 右に移動する
    • 左に移動する
    • 上下に移動する
    • 対戦相手を作る(1)
    • 対戦相手を作る(2)
    • 対戦相手を作る(3)
    • 完成!!
    • おまけ: Timer(1)
    • おまけ: Timer(2)
    • おまけ: 判定
  • Practice:Gravity<難易度 下中>
    • プロジェクトを作ろう
    • 地球を作る
    • 地球の位置とサイズを調整する
    • 月の大きさを調整する
    • 速度に応じて移動する
    • 引力に応じて移動する
    • 軌道を記録する
    • 完成!!
    • [おまけ:向きを計算してみる]
    • [おまけ:距離を計算してみる]
  • Dojo:おにごっこ<難易度 下中>
    • プロジェクトを作ろう
    • 右に逃げる
    • 左に逃げる
    • 上下に逃げる
    • 鬼を作る
    • 鬼が移動する
    • 捕まった時の動作
    • 完成!!
  • Practice:ポリゴン<難易度 中上>
    • プロジェクトを作る
    • ネコの表示を小さくする
    • 三角形を描く
    • Matrixを定義する
    • Matrixの掛け算
    • Z軸に対して回転
    • X軸に対して回転
    • Y軸に対して回転
    • 完成!!
    • おまけ:Cubeを描く
    • おまけ:裏と表
  • 作業テーブル:パズドラッぽいの<難易度 上中>
    • Table
    • 完成!!
  • 基礎鍛錬のゴール
Powered by GitBook
On this page
  • (3) Good!
  • 補足:弾性力
  • 補足 : 今回のプログラムのズル
  1. Tennis For Two <難易度 中上>

跳ねる

Previous自由落下Next左右に移動

Last updated 7 years ago

大地(だいち)を追加(ついか)して、 地面(じめん)に衝突(しょうとつ)したボールが跳(は)ねるようにしよう!!

(1) 背景(はいけい)に地面(じめん)を描(か)く

(1-1) 左下(ひだりした)の「ステージ1背景」をクリックする

(1-2) 右上(みぎうえ)の背景(はいけい)タブをクリックする

(1-3) 上図(うえのず)のように地面(じめん)を書(か)く。単色(たんしょく)で描(か)いてください

(2) 衝突(しょうとつ)したボールが跳(は)ねるスクリプトを追加(ついか)する

(2-1) 左下(ひだりした)のBallをクリックする

(2-2) 右上(みぎのうえ)のスクリプトタブをクリック

(2-3) 上記(かき)スクリプトを追加(ついか)してください

※ 「Yの速度(そくど)」変数(へんすう)を作(つくる)るときは、「このSpriteのみ」にチェックを入れてください

(3) 確認(かくにん)してみる

(3-1) 右上(みぎうえ)の緑色(みどり)の旗(はた)をクリックする。地面(じめん)に衝突(しょうとつ)すると跳(は)ね返(か)ることを確認(かくにん)する。

(3) Good!

良(よ)くできました。次(つぎ)のステップに進(すすみ)みましょう!!

補足:弾性力

サッカーボール、テニスボールなどは、地面に衝突すると跳ねます。不思議な現象です。なぜボールが跳ねるのかを、一律に説明する事は難しいです。しかし、古典物理学では、この現象を記述する事に成功しています。

ボールによって跳ねやすさは異なります。

ボールによって跳ね安さは異なります。野球ボールを地面に落とすよりも、スーパーボールの地面に落とした方がより高く跳ねます。古典物理学では、このボールの跳ねやすさを弾性力として定義しました。

跳ねやすいボールの弾性は高く、跳ねにくてボールの弾性は低いのです。

強く投げると大きく跳ねる

スーパーボールをなどを、地面に向けて落とすと、少しだけ弾みます。逆に、地面に向かって強く投げると、大きく跳ね返ります。

ルール

このように、跳ねる度合いはどのくらい強くボールを投げたかに依存します。弾性力とこの投げる強さの関係は、実験結果から以下のようになる事が解っています。

次の瞬間の速度 = 衝突した時の速度 × 弾性力 × -1

補足 : 今回のプログラムのズル

以下の部分は物理現象を無視しています。

このコードを追加したのは、ボールが地面に食い込んでしまった時の状態に対応するために追加しました。

ボールが地面にめり込んでしまう状態が発生します。これは現実ではおきません。 そこで、ボールが衝突した瞬間に少しだけボールを上に移動するようにしました。

https://scratch.mit.edu/projects/78270956/
https://scratch.mit.edu/projects/78270956/