Scratchでキャラを動かす:矢印キーとマウス操作入門
「自分で動かせた!」
ゲームらしさがぐっと増えるのが、この「自分の操作でキャラクターを動かす」段階です。これまでは、キャラクターが自動で動くプログラムを作ってきましたが、今度は自分の手でキーやマウスを操作して動かします。
わが家でも6歳の子どもと、キャラクターを左右に動かしたり、マウスで台を動かしたりすることに挑戦しました。この記事では、矢印キーで動かす方法とマウスで動かす方法を、できたこと・難しかったことを正直に交えて紹介します。
※「スプライト」とは、Scratchで動かすキャラクターや絵のことです。「ブロック」は命令が書かれたパズルのピースで、これを並べてプログラムを作ります。記事の中であらためて説明します。
「自分で動かす」って、どういうこと?
プログラミングで「動かす」には、大きく2つのやり方があります。
- 自動で動かす:プログラムが勝手にキャラクターを動かす(これまで作ってきた形)
- 自分で動かす:人がキーやマウスを操作して、その通りに動かす ← 今回のテーマ
「自分で動かす」をプログラミングの言葉では「入力」と言います。キーを押す・マウスを動かす、という人の操作を、キャラクターの動きに変えるしくみです。
入力の代表が、矢印キーとマウスです。順番に見ていきましょう。
矢印キーでキャラを動かす方法
まずは、キーボードの矢印キー(→←↑↓)でキャラクターを動かす方法です。
考え方はこうです。「もし右向き矢印キーが押されたら、右へ動く」をつくり、これを4方向ぶん用意します。
使うブロックは、次の3種類です。
- 「ずっと」(制御の仲間):中の命令をくり返し確認し続ける
- 「もし〜なら」(制御の仲間):条件が当てはまるときだけ動く
- 「x座標を○ずつ変える」「y座標を○ずつ変える」(動きの仲間):位置を動かす
「x座標」は画面の横の位置、「y座標」は縦の位置のことです。右へ動かしたいときはx座標を増やし、上へ動かしたいときはy座標を増やします。
たとえば、右へ動かす部分はこう組みます。
- ずっと
- もし「右向き矢印キー」が押されたなら → x座標を 10ずつ変える
これを「左向き矢印キーなら x座標を −10」「上向きなら y座標を 10」「下向きなら y座標を −10」と4つ並べれば、上下左右に動かせます。「ずっと」で囲んでいるので、キーを押している間ずっと反応してくれます。
数字(10)を大きくすると速く、小さくするとゆっくり動きます。最初は10くらいから試して、子どもと「もっと速く?」と調整するのがおすすめです。
マウスでキャラを動かす方法
次は、マウスでキャラクターを動かす方法です。こちらはブロックが少なくてすみ、やり方は2つあります。
① マウスを追いかけさせる
- ずっと
- 「マウスのポインターへ行く」(動きの仲間)
これだけで、キャラクターがマウスのカーソルをどこまでも追いかけます。
② 横だけマウスで動かす(台・パドル向き)
ブロック崩しの「台(パドル)」のように、横方向だけマウスで動かしたいときは、こうします。
- ずっと
- 「x座標を マウスのx座標 にする」(動きの仲間)
縦の位置は固定したまま、横だけマウスについてくる動きになります。
「パドル」とは、ボールを跳ね返す台のことです。マウスで左右に動かして遊ぶゲームでよく使います。
わが家の体験:できたこと・難しかったこと
実際に6歳の子どもと試してみた、正直な記録です。
できたこと
- よける役のキャラクターを、左右に動かすことができた
- ブロック崩しで、マウスで台を動かして遊べた
自分の操作でキャラクターが動いたときは、「動いた!」ととても嬉しそうでした。受け身で見ているより、自分で動かせるほうが何倍も楽しいようです。
難しかったこと
- 思いどおり・スムーズに動かすこと:押しすぎて行きすぎたり、止めたい場所で止まれなかったり
- どのキーをどの動きに割り当てるか:「右キーは右」と決めるのが、最初は感覚的に分かりにくかった
- マウスが画面の外に出ると止まる:これは次の章でくわしく説明します
難しい部分はありましたが、「自分で動かす」という入り口に立てたこと自体が、大きな一歩でした。スムーズな操作は、遊びながら少しずつ慣れていくものだと感じています。
つまずきやすい「画面の外で止まる」問題
マウスで動かして遊んでいると、途中でキャラクターが動かなくなることがあります。わが家でも子どもが「あれ、動かない」と困っていました。
原因は、マウスのカーソルが画面(ステージ)の外に出てしまうことです。キャラクターは「マウスの居場所」を見て動いていますが、カーソルがステージの外へ出ると、Scratchはマウスの位置を受け取れなくなり、キャラクターは最後にいた場所で止まってしまうのです。これはマウス操作のしくみ上どうしても起きることで、プログラムのミスではありません。
うまく付き合うコツは、次の3つです。
- ステージの中でマウスを動かす:行きすぎないように動かすと、止まりにくくなります。マウス操作のよい練習にもなります
- 全画面表示にする:ステージ右上の全画面ボタンを押すと画面が大きくなり、カーソルが外に出にくくなります
- 矢印キーで操作する:前の章のやり方です。キーはマウスの位置に関係なく効くので、この「止まる」問題そのものが起きません
遊ぶだけなら「止まったらマウスを画面の中にもどす」と覚えておけば十分です。
子どもの様子と、親として意識したこと
今回いちばん感じたのは、「自分で動かせる」と集中力が変わるということです。
自動で動くだけのプログラムより、自分の操作で反応してくれるほうが、何度も繰り返し遊んでいました。「もう1回!」と言いながら、自然とマウスやキーの使い方に慣れていきます。
一方で、スムーズな操作を最初から求めないことも意識しました。行きすぎても、止まれなくても、それは練習の途中。「だんだん上手になるよ」と声をかけながら、まずは「自分で動かせた」という体験を一緒に喜ぶようにしました。
キーやマウスの操作は、プログラミングだけでなく、これからパソコンを使ううえでの土台にもなります。遊びながら身についていくのが、いちばん自然な形だと感じています。
まとめ
- 「自分で動かす」=キーやマウスの操作(入力)を、キャラクターの動きに変えるしくみ
- 矢印キーは「ずっと」+「もし〜キーが押されたなら」+「x座標・y座標を○ずつ変える」で作れる
- マウスは「マウスのポインターへ行く」、横だけなら「x座標をマウスのx座標にする」で動かせる
- マウスのカーソルが画面の外に出ると止まることがある(マウス操作のしくみ上のこと)。ステージの中で動かす・全画面表示にする・矢印キーで操作する、で対応できる
- スムーズな操作は最初から求めず、「自分で動かせた」体験を先に楽しむのがおすすめ
次は、動かしたキャラクターが何かに「ぶつかったら」反応する、当たり判定にも挑戦していきたいと思います。
Scratch学習の全体像・今どのあたり?:Scratchは何から始める?6歳の体験で作った学習ロードマップ(この記事は「自分で動かす」段階の内容です)
関連記事:
- Scratchで自分だけのゲームを作る:6歳が「作りたい」を形にした日(よける役を左右に動かした体験)
- Scratchでブロック崩しを作った:まねして学んだゲームのしくみ(マウスで台を動かす実例)
- Scratchのクローンでブロックを並べる:繰り返しが見えた日(マウス操作と「画面の外で止まる」問題)
- Scratchのブロックの種類と色の意味まとめ(「動き」「制御」が何色の仲間か確認できる)
- Scratchってなに?小学生でもできるプログラミングの第一歩(Scratchの全体像から知りたい方へ)