新しい記事はこちらです.
(Scratch, ビジュアルプログラミング言語,子ども向き,MIT, フリーウエア,日本語対応)
プログラミングの義務教育化については,前稿でふれた.
プログラミング教育を行うには,それなりの解りやすい言語が必要である.子ども向けのプログラミング言語としては,MITメディアラボ(米国マサチューセッツ工科大学 (MIT) 建築・計画スクール内に設置された研究所)が開発した Scratch(スクラッチ)が有名である.
Scratchはビジュアルプログラミング言語の一つで,視覚的にプログラミングを学ぶことができる.最近のバージョンでは,ブラウザ上でプログラミングが可能になったため,インターネットに繋がったパソコン(Windows、Mac OS X、Linux)があれば,各国語に対応しているため,どこにいても学習することができる.なお,Scratch のホームページには次の記載がある.
Scratchについて
スクラッチで、あなた自身のインタラクティブなストーリー、ゲーム、アニメーションのプログラムを作ったり,オンラインコミュニティで他の人とあなたの作品を共有することができます.
スクラッチは、若い人々が、創造的に考え、体系的に判断し、協力的に働くのを学ぶことを手助けします.これらは21世紀の生活に不可欠なスキルです.
ScratchはMITメディアラボ ライフロングキンダーガーテングループのプロジェクトです。これは無償で提供されます。
実行はオンライン,オフラインの両方で可能である.オフラインの場合は予めソフト(無料)をダウンロードしておく必要がある.
実際に試用してみた.
Scratchのサイトへアクセスすると以下のメニュー画面があらわれる.👈 2020年11月時点の説明,画像,作業領域の配置は当時(2016年初期)とは異なっているが,基本は同じである.
試しに,「やってみる」をクリックする.
左側にステージ(実行画面),右側に作業スペースが現れ,ステージの中心に,背景なしでネコのキャラクタ(画像)が現れる.ネコである必要はないが,ここでは予めネコが用意されている.ネコはスプライトと呼ばれる.👉 2020年版では配置が異なっている.
スプライトについて
キャラクタを表示したり,操作する機能を持たせる画像単位をスプライトという.
実行画面は背景とスプライトの独立した画像群によって構成され,他の絵に影響されずに,自由に動かしたりすることができる.
スプライト単位で操作することが前提になっていて,絵を動かしたり,見た目を変化させたりすることができる.
衝突判定やイベントに対する処理を種々設定することができる.
ライブラリに登録されているキャラクタから選択するほかに,作画,画像,カメラ映像から作ることができる.
ステージの右側に,スクリプト,コスチュームのボタン,その下に,「動き」,「イベント」,「制御」,「調べる」等のメニューが配置されている.
「イベント」の種類からプログラムの実行開始に必要であることがわかる.
「動き」をクリックすると,種々の「動き(歩み,回転,移動位置など)」が表示される.
メニューを見て,ネコを「バック転」させておいて,マウスをクリックしたら反対に回転させるというプログラムを作ってみた.
なお,左下には背景を選ぶためのボタンが準備されているが,まずは「背景なし」で作成してみた.
まず,「イベント」から「旗(緑)🚩がクリックされたとき」を選び,右側のスペースに引っ張りだす.
次に「動き」を繰り返したいので,制御メニューから「ずっと」を選び「ハタ🚩がクリックされたとき」と結合させる.ジグゾーパズルの要領である.
「ずっと」繰り返すの内側に,「もし?なら??.でなければ???」の制御文(構造)を入れる.マウスで引っ張っていくと自然にくっついてくれる.
「調べる」のメニューから「マウスが押された」を選び,「もし◇なら・・・・」の◇にドロップする.♢は必要な大きさに拡大し,
「マウスが押された」を受け入れてくれる.
残るは,右回転,左回転を「動き」メニューから選び,制御文の所定の場所に貼りこむ.
ハタ🚩をクリックすると,プログラムが起動する.マウスを押している間は反対向きにに回転する.
プログラムが完成したら,ステージの上のメニューの中のファイルから「手元のコンピュータにダウンロード」を選び保存する.
「手元のコンピュータからアップロード」を選べば,保存されているプログラムを読み込んで,編集したり,実行することができる.
緑色メニューもあるが演算関連の事項である.今回は使用していない.
編集画面に置かれているペン,カメラ等のマークはマウスを近づけると日本語説明が表示される.
実行結果を収録した動画は以下のとおりである.
別のプログラムの動画を収録したので,参考にしてほしい.
コウモリが飛び回り,壁にぶつかったらユータンさせるプログラムである.
左右に動かすには「回転方向を[左右のみ]にする」
2個のコスチュームを切り替えて歩くような画像を作成した例である.
ステップ音を付けたが,収録は画面だけで音が入っていない.「回転方法を左右のみにする」を外したら壁に当ると上下逆さまになる.
左下背景選択ボタンをクリックすると背景ライブラリが開く,適当な画像を選択することにより背景を付けることができる.プログラムの中には反映されない.
学芸会的背景を用いた動画
私は,プログラミングには慣れているので,各ブロックの形が何を意味するか予想がついた.まったくプログラミングの経験がない人はウエブ上に公開されている簡単なプログラム例を実行してみて,その動きから理解するのが早道である.簡単にプログラミングを楽しむことができるので,やってみてほしい.既存のプログラミング言語の「フローチャート」の各部品に機能性を持たせ,ビジュアル的に実行できるようにしたと思えばよい.
参考資料
・原文 With Scratch, you can program your own interactive stories, games, and animations — and share your creations with others in the online community.
Scratch helps young people learn to think creatively, reason systematically, and work collaboratively — essential skills for life in the 21st century.
・Scratchの説明(Wikipedia)
・Mac mini 2012 (core i5 2.5GHz), OS X EI Capitan10.11.5, Firefox上で実行