提供: Japanese Scratch-Wiki
このきじは ひらがなでよめません。ごめんなさい。編集者向け:作成する
速度 (velocity) は、与えられた方向に対する速さのことである。負の数になることもある(一方、速さ (speed) は、方向を考えない数値であり、つねに正の数となる)。物理法則を使用したプロジェクト では、速度を使用することが多い。スクロール型ゲームなどで速度を上手に使うと、動きがなめらかになるだけでなく、わかりやすいスクリプトになることが多い。
Scratchで速度を扱う方法
Scratchのプログラムでは、速度を変数に入れて、これを使ってスプライトの座標を変更する方法がよく使われる。
@greenFlag が押されたとき::events hat
ずっと
もし <[左向き矢印 v] キーが押された> なら
[速度 v] を (-1) ずつ変える // 左向きに加速して、速度を減らす
end
もし <[右向き矢印 v] キーが押された> なら
[速度 v] を (1) ずつ変える // 右向きに加速して、速度を増やす
end
[速度 v] を ((速度) * (0.9)) にする // だんだん減速する様子を表す (方向に関係なく減速される)
x座標を (速度) ずつ変える // 更新された速度にもとづいて、スプライトの座標を変更する
end
上記は一つのスクリプトにすっきり収まっており単純であるが、十分な効果を得ることができる。スクリプト内の数値を変えると、スプライトがキビキビ動く度合いが変わる。ただし、最後の () を () にする ブロックに入れる数は、0〜1の間にしておく必要がある。1より大きい値を入れると、減速ではなく、加速になってしまう。
使用例
速度はさまざまな場面で使用される。使用例としては以下が挙げられる。
- レースゲーム — 車の動きを速度でコントロールすると、より運転がリアルになる
- プラットフォーマー型ゲーム — 速度を使うと、動きがよりリアルになる
- 物理シミュレーション — たとえば、ボールの跳ね返りを表現するには、速度が必要になる
- スクロール型プロジェクト — スクロールに速度が使われることが多い。
- ハンドスピナーのシミュレーション — 速度を使えば、ハンドスピナーの動きがよりなめらかになる
- 宇宙を舞台にしたゲーム — "Asteroids"のような宇宙空間を舞台にしたゲームでも、速度を使うとよりリアルになる
その他、スプライトが動いたり止まったりするところであればどこでも、速度を使ってよりリアルな効果を得ることができる。