「自分で動かせた!」

ゲームらしさがぐっと増えるのが、この「自分の操作でキャラクターを動かす」段階です。これまでは、キャラクターが自動で動くプログラムを作ってきましたが、今度は自分の手でキーやマウスを操作して動かします

わが家でも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歳の体験で作った学習ロードマップ(この記事は「自分で動かす」段階の内容です)

関連記事