この記事のポイント
重力や加速度を表現する方法を学べます。
こんな感じのものを作ります!
はじめに リンゴを上手に落としたい!
スクラッチプログラミングも慣れてきてスプライトを単純に動かすだけであれば、カンタンにできるようになってきたと思います。
ただし、モノを落下させたり、車を急発進させたりするのを上手に再現するには少しコツが必要です。
今回の記事では重力や加速度を表現する方法を解説します。リンゴを上手に落とすプログラムを作ります。
ニュートンもリンゴが落ちるのを見て、この重力に気づきました。
皆さんはニュートンが気づいた法則をプログラミングすることになります。
参考記事
スクラッチの始め方は以下リンク先でまとめています。初めての方、やり方を忘れてしまった方はぜひここから読んでみてください。
完成作品
今回の完成作品はこのようになります。緑色の旗をクリックして動かしてみてください。
スクラッチプロジェクト
スクラッチプロジェクトは以下リンクにあります。自由に使ってもらってOKです。
リンゴを上手に落とす=加速度運動させる
加速度運動は重力のように、速度がだんだん速くなっていく動きのことをいいます。
とくに加速度が一定の運動は等加速度運動といいます。
加速度運動といわれても難しいと思いますので、モノを上手に落とす方法と覚えてもらえればOKです。
加速度運動をプログラミングするには?
加速度が一定で、速度が時間にそって一定に変化していくので、例えば次のようにプログラムできればよいです。
- 1回目 1回で動く距離:1
- 2回目 1回で動く距離:2
- 3回目 1回で動く距離:3
- ・・・
事前準備 スプライトを用意
今回はスクラッチにもともとある「Apple」を使いましょう。
プログラミング
では、プログラミングを始めます。
変数を用意する
リンゴが落ちる速度をだんだん変化させるためには「変数」を使います。
ブロックパレットで変数「リンゴ速度」を作ります。
初期化する
いつでも大事な初期化を行います。つぎのように初期化します。
- リンゴの位置をx⁼0、y=150にする。
- 「リンゴ速度」を0にする。
初期化をすることはクセにしましょう。
動きをプログラミングする
リンゴが落ちていくところをプログラミングしていきます。
「ずっと」ブロックを使って以下を繰り返していきます。
- リンゴ速度を-1ずつ変える
- y座標をリンゴ速度ずつ変える
動作確認
ここで動作確認をしてみます。リンゴの落下スピードがだんだん速くなっているように見えれば成功です。
比較実験 速度一定の落下
ここで重力が再現できていることをより確認するために、速度が変わらない動きの場合と比べてみましょう。
スクリプトを以下のように修正してみてください。
- 初期化でリンゴ速度を「-10」にする
- リンゴ速度の変化量を「0」にする
左が速度が変わる落下で、右が速度が変わらない落下です。左の方が自然に見えると思います。
速度が変わらない落下は宇宙空間でモノが動いているようですね。
さいごに
今回は、重力・加速度を表現する方法を説明しました。
加速度の考え方はゲームでキャラクターに自然な動きをさせるためには重要な考え方なので、ぜひマスターしてくださいね!
おススメのスクラッチ参考書
私も参考にしているスクラッチ参考書を紹介します。どちらもとてもわかりやすいです。
私の場合は、図書館で借りて試し読みして、分かりやすかったものを購入しています。試し読みは必須です。
手元にずっと置いておき、いつでも参照できるようにすることも重要です。
おススメのプログラミング教室
私が最もおススメするプログラミング教室は、「QUREOプログラミング教室」です。
「QUREO」の特徴は、以下にあげる点です。
- 教室型であり、直接先生からプログラミングを学ぶことができる。
- 全国に教室数が多く(全国2500教室)、実績豊富
- ビジュアルプログラミングかつゲーム制作を学習教材に使用していて、取り組みやすい
- 月謝が比較的安い。
習い事は、「通いやすさ」と「続けやすさ」の2つが重要ですよね。私も「通いやすさ」を重視して「QUREO」を選びました。
今なら無料体験・キャンペーンも実施しているので、一度お試しすることをおススメします!
コメント