初心者OK!こどもプログラミング入門(Scratch)

子ども向けプログラミング学習の定番「Scratch」の使い方。我が子(小学1年)の初挑戦記録付き。

わかりやすさ重視のパソコン講座もスタートしました!

■ かんたんパソコン講座

子どもも、初心者の方もわかりやすいよう、できるだけかんたんな言葉を使ったパソコン使い方ブログも始めました。学校の発表に利用されることも多いパワーポイントの使い方から、大人にも子どもにも役立つパソコンの使い方をいろいろ紹介予定です。プログラミング以外にも、パソコンを便利に活用しましょう。

学校でも利用することの多い「パワーポイント(PowerPoint)」のカテゴリはコチラです。

Scratchで背景が動いているように見せる【その1】

スポンサーリンク

 

x

f:id:shufufu:20170414133555j:plain

Scratchには、背景をスクロールさせるブロックは用意されていませんが、配置した木などのスプライトを動かして背景が動いているように見せることはできます。

自作のスプライト量産に着手し、長めの物語を作ると息巻いている次女(小学2年)にも役立ちそうなこの仕組みを、数回に分けて紹介したいと思います。

 

背景が動いて見える様子をまずはチェック

完成するとこんな具合になります。ネコはその場でトコトコと足踏みするだけですが、木などが動くことで移動しているような雰囲気を出せますね。

f:id:shufufu:20170414133818j:plain

f:id:shufufu:20170414133831j:plain

f:id:shufufu:20170414133928j:plain

f:id:shufufu:20170414133935j:plain

f:id:shufufu:20170414133940j:plain

f:id:shufufu:20170414133947j:plain

f:id:shufufu:20170414133956j:plain

 

必要な要素を追加してネコを歩かせよう

さっそく設定していきましょう。必要な要素の追加、ネコを歩かせる方法は、これまでの記事で紹介したことのある部分なのでサっとまとめます。

 

最初に表示したい背景とスプライトを追加する

アプリの起動時から表示しておきたい、以下の要素をまずは追加しましょう。

f:id:shufufu:20170414134118j:plain

  •  背景の絵柄
  • ネコのスプライト
  • 木のスプライト 2つ(スプライトを右クリックして複写しました)

 

ネコの位置を決めて歩かせる

ネコの設定をします。今回はこのようにブロックを並べました。

f:id:shufufu:20170414134211j:plain

 

「みどりの旗がクリックされたとき」をきっかけに、座標を決めるブロックで位置を指定。そしてセリフをプラスしています。

さらにその場でトコトコと足踏みしているように見せるため、コスチュームの切り替えを設定し、ずっと繰り返すようにしています。

位置指定、コスチュームを詳しく知りたいときは

位置の指定方法、コスチュームの切り替え方法は、過去の記事で詳しく説明しています。こちらをご覧ください。

 

これで実行してみると、ネコの足が動き、歩いているように見えます。

f:id:shufufu:20170414134936j:plain

f:id:shufufu:20170414134942j:plain

 

木の位置を決める 

一つ目の木の位置を決めるブロックも設定しましょう。

「緑の旗がクリックされたとき」(アプリの起動)をきっかけにして、決まった位置に木が表示されるように図のようにブロックを配置します。

さらに図の例では、「2秒待つ」のブロックを付けています(ネコのセリフの後に動かし始めるため)。

f:id:shufufu:20170414135007j:plain

  

背景が流れていくような動きを設定する

続いて今回のメインテーマである「背景が流れて見えるようににスプライトを動かす」設定をしていきます。

 

木を少しずつ左側に動かす

最初に一つ目の木に設定していきます。今回はx座標を少しずつ減らすことで左に動かしてみます。

同じ動きを繰り返して移動させていくので、スクリプトの「制御」から「ずっと」ブロックを配置しましょう。

f:id:shufufu:20170414135111j:plain

 

「動き」にある「x座標を○ずつ変える」ブロックを「ずっと」ブロックの中に入れます。

f:id:shufufu:20170414135124j:plain

 

ブロック内の数値を変えましょう。左側に動かすには、x座標を少しずつ「-」にしていきます。今回は比較的ゆっくり動かしたいので「-1」にしてみました。

f:id:shufufu:20170414135139j:plain

 

「ずっと」部分をクリックして実行してみると、設定をした左側の木だけが動きました。速さが気に入らなければ数値を変えて調節しましょう。

f:id:shufufu:20170414135201j:plain

f:id:shufufu:20170414135207j:plain

f:id:shufufu:20170414135229j:plain

方法は一つではない

「○歩動かすブロック」を使い、図のように「-○歩」動かすようにしても上の設定と同じようにスプライトを左側に少しずつ動かすことができます。

f:id:shufufu:20170414135343j:plain

小さな子どもの場合、こちらが先に思い浮かぶ子も多いかもしれません。Scratchのブロックの組み方は自由ですので、思いついた方法で組んでみてOKです。

 

端に着いた時に木を消す設定をする 

左側に「ずっと」移動させた木は、最終的にこの位置まで移動します。

f:id:shufufu:20170414135229j:plain

ほんの少し見えた状態で止まっていますね。これは消しておきたいので、「端に着いたら隠す」という設定をしておきます。

 「スクリプト」の「制御」から「もし○なら」ブロックを図のように入れます。

f:id:shufufu:20170414135534j:plain

 

次に「演算」にある「□=□」のブロックを、「もし○なら」のブロック内にはめ込みます。ブロックをはめ込むときは、「もし○なら」ブロックの「○」の上に、「□=□」ブロックの左端が重なるようにドラッグして手を離しましょう。

f:id:shufufu:20170414135616j:plain

 

さらに演算ブロックの左側に「動き」にある「x座標をはめ込み」ます。

f:id:shufufu:20170414135635j:plain

 

演算ブロックの右側には数値を入れます。これで「x座標が-290になったら」という指定ができました。

f:id:shufufu:20170414135650j:plain

 

「見た目」から「隠す」ブロックを配置すれば、「x座標が-290になったら木のスプライトを隠す」設定の完成です。

f:id:shufufu:20170414135707j:plain

 

実行してみると、左側に移動してきた木が端まで来たら消えました。

f:id:shufufu:20170414135722j:plain

f:id:shufufu:20170414135733j:plain

 

これでOKなので、上のブロックとつなげましょう。

f:id:shufufu:20170414135747j:plain

消えるときのx座標は調節しよう

今回の木のスプライトはx座標が-290まで移動できたので、消える位置を「-290」にしましたが、スプライトによっては-280までしか行かないもの、-290ではまだだいぶ姿が見えている場合もあります。対象によって数値を調節しましょう。

 

もう一本の木に同じ設定をする

もう一本の木も同じように左側に移動するよう設定します。移動の速度、最後に消す指示は同じなので、バックパックを使ってブロックをコピーし、最初に表示される位置だけ変えればOKです。

f:id:shufufu:20170414135841j:plain

 バックパックの使い方

 違うキャラに同じブロックを使いたいときは、バックパック経由でコピーできます。詳しい使い方はこちらの記事で紹介しています。

違うキャラへのブロックのコピーもできる!押さえておきたいScratchの便利機

 

ネコを前面に出す設定をする

最初に表示されているネコと2本の木の設定が済んだので、一度まとめて実行してみると、図のようにネコの上を2本目の木が通っていました(^_^;)

f:id:shufufu:20170414204101j:plain

 

そこで「見た目」にある「前に出す」ブロックをネコのスクリプトに追加しておきます。

f:id:shufufu:20170414204125j:plain

 

試してみると、ネコがちゃんと前に出ました。

f:id:shufufu:20170414204147j:plain

 

これで、「スプライトを動かして背景が流れているように見せる」基本的な設定方法はOKです。

次回はネコが進んだ先に木やクマが出てくる部分を紹介したいと思います。

Copyright © 2016 初心者OK!こどもプログラミング All rights reserved.