Android/iPadOS用の無料子供学習用のプログラミングツール「ScratchJr」 ~ 水族館や動物園、簡単なサッカーゲームの作り方 ~
【子どもプログラミング教育事情】海外と日本の比較
子ども向けプログラミングツールの中で非常に広く使われている「Scratch」(スクラッチ)をご存知の方は多いでしょう。
英国(イングランド)での子どもプログラミング教育事情は、教科「Computing」が新設され、2014 年 9 月より実施されている。
教科「Computing」 における専任の教員はおらず、学級担任が指導している。一方、中等教育では専任の教員が指導している。
プログラミング言語は、Scratch、LOGO、Kodu、Python等である。
一方、日本(国内)での子どもプログラミング事情は、プログラミング教育は、初等教育では、既存の教科の中で実施、中等教育では技術・家庭科の技術で「情報の技術」としてネットワークと情報モラルを学ぶ。
プログラミング言語は、初等教育では Scratch、中等教育では Scratch、「なでしこ」(ガラパゴス言語)などである。
子どもプログラミングツールの雄:Scratch、iPadにも対応!
ただ、「Scratch」は、いろいろな命令や変数など使用できる為、いろいろなプログラミングができる反面、最初から取り組むには少しハードルが高くなるので、オススメ出来ません。
そこで、オススメは「ScratchJr」(スクラッチジュニア)です。
ユーザインタフェースはScratchとほぼ同じですが、
迷わないように機能は厳選され、記号が書かれた正方形のブロックをつなぐだけで直感的に使えるように設計されています。
▼Scratch公式
https://scratch.mit.edu/
前までiPadでScratchが利用できなかったのですが、scratch3.0からiPadでもブラウザから使用できるようになりました。
Scratchの公式サイトをSafariで開いて、作るページを押せばもうそのままプログラミングが可能!
ブロックを積み木の感覚で並べるだけでプログラミングができるツール【ScratchJr】
▼ScratchJr公式
https://www.scratchjr.org/
「ScratchJr」はiPadOS版とAndroid版の無料アプリで提供されていて、対象年齢は5才~7才です。小さな子ども達をターゲットにしたプログラミングツールは、キャラクターをゴールに連れて行くようなパズル系のものが多いのですが、「ScratchJr」は「Scratch」同様に、いろいろな組み合わせのプログラミングで好きな作品を作ることができます。
例えば、水族館(魚)を動かすプログラミングや動物園のように動物を動かすプログラミング、さらにゲームまで作れます。
詳しくは以下で説明していきます。
画面の説明や各種ブロックプログラミングの説明
画面の各種ボタンについての説明もヘルプ画面に詳しく載っています。
キャラクターの追加ボタン、シーンの追加ボタン、プログラミング実行ボタン、ブログラミングのブロック一覧、
プログラミング作成エリア(キャラクター毎)の構成になっています。
タップ時、ぶつかった時のプログラミングなどのサンプルがずらり!
「ScratchJr」の使い方ムービーやプロジェクトサンプルも用意されています。最初、何を作っていいかわからなかったら、サンプルのプログラムを見てアイデアを応用してみるのがおすすめです。
あと、各ブロックの説明も詳しく載っていますので、迷った時は、サンプルや使い方ガイドを見てみましょう。
アニメーションのプログラミングも簡単!
背景の異なるページを複数持てて、ページ転換を簡単にさせることができるのも楽しいポイント。
ページ切り替え時に、エンディングのアニメーションを作ることも簡単にできちゃう。
シンプルに、「キャラクターを押すとどんどん大きくなる!」というプログラミングも一つのブロックだけで作れます。
本当のプログラミングでは、そのアニメーションだけでも結構なコードが必要になります。
そこの部分だけでも、「プログラミング思考回路」を身につけるには、ほんとオススメのツールだと思います。
上記の例は、星が流れ星アニメするようなプログラミングをしています。
その場合に、同じ動作を何回か繰り返すというブロックを使用することでシンプルにメンテナンスしやすいプログラミングが書けます。
水族館のプログラミングの作り方
サンプルの一つにある「うみのなか」をタップすると、サンプルプログラミングが用意されていますので、
こちらを確認していきましょう
旗マークをタップした時に、動作するプログラミングで作られています。
ポイントは「ずっと繰り返す」で永遠にアニメーションさせたい時に使います。
一般的なプログラミングだと「while」文と言われる構文を使用して、プログラミングを書きます。
動物園のプログラミングの作り方
サンプルの一つにある「のうじょう」をタップすると、サンプルプログラミングが用意されていますので、
こちらを確認していきましょう
キャラクターをタップした時に、動作するプログラミングで作られています。
音を入れて、鳴き声や録音すれば、ナレーションなども入れることが出来ます。
ポイントは「指定回数くりかえす」で指定した回数分だけ動作を繰り返すアニメーションを作りたい時に使います。
一般的なプログラミングだと「for」文と言われる構文を使用して、プログラミングを書きます。
サッカーゲーム(かんたんなPKゲーム)の作り方
猫がボールを蹴って、ゴールすると、シーンが切り替わるようにプログラミングしています。
キーパーにボールが当たった場合は、弾くようなプログラミングにしています。
「メッセージ」を使って、より複雑なプログラミングを作成していきます。
どこかのプログラムに「メッセージ」を渡した後で、動かすようにできます。
サッカーゲームでは、ゴールポストに入ったら、メッセージを渡して、キャラクターに「ゴール!!」と
コメントを表示する際に使っています。
Aキャラクターから、Bキャラクターに何かプログラミングをして動作させたい時に使います。
これを「RX(リアクティブ・プログラミング)」と呼ばれています。
1.ゴールポストをキャラクターの追加ボタンからゴールの絵を選んで、設置します。
大きさなどを調整するブロックが、紫の人型アイコンのブロックをタップすると、小さくしたり、大きくしたりするブロックがあるので調整しましょう。
まずは、ゴールポストはプログラミングとしては何もしないので、位置だけ最初の位置に戻すブロックを旗マークをタップした時に動作するようにブロックを置きましょう。
2. 猫の歩いている絵をキャラクターの追加ボタンから選んで、設置します。
こちらも大きさの調整を最初にして、ボールまで少し猫を動かしたいので、やや左寄りに設置してください。
プログラミングは、2つ用意します。
1つ目は、旗マークをタップしたら、元の位置に戻し、「シュート」と表示して、前へ猫を動かす(ボールに当たるように位置を調整する)
2つ目は、オレンジメッセージ受信(ボールがゴールポスト内に入った時、送信するようにする)したら、
「ゴール」と表示して、シーンを切り替える。
(※先に、シーン切り替え用のシーンを作成しておく必要があります。無いとブロック選択できない)
3. ボールをキャラクターの追加ボタンから選んで、設置します。
大きさと設置位置を調整します。
プログラミングは、3つ用意します。
1つ目は、猫とボールが「ぶつかった」時、動くスピードを速くして、前へ回転しながら、ゴールポストに入るように数を調整して、繰り返すブロックを使用する。ゴールポスト入ってから、上へ跳ねるようなアニメを入れて、オレンジメッセージを送信する。
2つ目は、キーパーとボールが当たった時(赤メッセージ受信時)、ボールの動きを止めて、反対側にボールを動かすようにプログラミングをする。
3つ目は、ボールの位置を変更しているので、旗マークをタップした時に元の位置に戻すプログラミングをする。
4. キーパーをキャラクターの追加ボタンから選んで、設置します。
台風のような絵があったので、そちらを利用して大きさと位置を調整します。
ゴールポストの前に設置して、程よい大きさに変更しましょう。
プログラミングは、2つ用意します。
1つ目は、キーパーの動きをプログラミングします(このプログラミングでゲームの難易度が決まります)
基本は、上下に動かせば良いと思います。
2つ目は、ボールとぶつかった時に赤メッセージを送信します。
(この時、ボール以外とはぶつからないようにしてください。例えば、ゴールポストにぶつかっていると期待値と異なるプログラミングになります)
5. シーン切り替え時のプログラミングをします。
シーン切り替え時は、旗マークのアクションを使って、プログラミングします。
今回の例では、背景を元々用意してあるモノを使用して、猫を大きくするアニメーションプログラミングにしています。
シューティングゲーム(インベータ風なゲーム)の作り方
簡単なインベータ風なゲームです。
UFOのようなキャラクターとロケットは元々の絵が用意されているので、作成するのは「大砲」だけオリジナルで作成します。
この大砲をタップすると、ロケットが発射して、UFOに当たった場合は、ゲームクリア。
UFOに当たらなかった場合は、ゲームオーバーと出すようにプログラミングしています。
ゲームクリアとゲームオーバーのシーンを別々に用意するのが、ポイントです。
少し長くなりましたので、こちらの詳細な解説は
Android/iPadOS用の無料子供学習用のプログラミングツール「ScratchJr」 ~ シューティングゲーム(インベータ風なゲーム)の作り方 ~(こちらをクリック)にて載せていますので、続けて見て頂ければと思います。
この記事へのコメントはありません。