『子供の科学』2020年8月号の別冊付録
「QRコードプログラミングBOOK」は読んでくれたかな?
別冊付録では読み取ったQRコードの情報
を元にして、キャラクターの強さや色を決定し、対戦
ができるQRバトルゲームのプロジェクトを紹介
したね。今回は夏らしく、QRコードの情報を元に打ち上げ花火を上げることができる「QR打ち上げ花火」のプロジェクトを紹介しよう。
今年は新型コロナウイルス感染症
の影響
で中止になった花火大会も多いから、お家でQRコード花火大会を開催
してみてね。
1 打ち上げ花火の形を決める方法
まずは打ち上げ花火の「形」を決める情報について整理
しておこう。今回は4つの変数
を使って打ち上げ花火の形を決めていくよ。
それぞれの変数について詳
しく説明すると、「数」は花火の星が何個散
らばるか、「色」は最初に打ちあがる星の色、「大きさ」は星がどの程度
広がるか、「重なり」は何重
に花火が上がるかだ。
これらの4つの変数はQRコードの内容を読み取って決めていくよ。QRコードを読み取ると、QRコードの内容によって違
った形の花火が上がるというわけだ。綺麗
な花火が上がるQRコードを探してみよう!
2 背景とスプライトの準備
まずはステージの背景と必要なスプライトを準備
しよう。QRコードの拡張機能
が使えるScratchにGoogle Chrome(グーグル クローム)でアクセスして作業
を始めるぞ。Scratchの画面が表示されたかな?
最初に夜空をつくるために、ステージの背景
を黒く塗
りつぶそう。ステージを選択
して、「背景」のタブを選択しよう。
最初に「ビットマップに変換
」というボタンを押して、画面全体を塗りつぶせるようにしておこう。
色を黒に設定して「塗りつぶし」のアイコンをクリックし、となりに表示されているステージをクリックすれば一面を黒く塗りつぶすことができる。
次にスプライトを作成しよう。まずはScratchキャットのスプライトは削除
しておこう。
「描
く」のメニューから新しいスプライトを作成しよう。
花火の星になる円を描いていこう。筆を使うために「ビットマップに変換」のボタンを押しておこう。
「筆」のアイコンをクリックしてから、塗りつぶしの色を黄色に設定して、筆の太さを15にしておこう。
キャンバスを拡大しておき、キャンバスの中心の十字の印と円の中心を合わせてクリックし、キャンバスの中心に円を描こう。
中心から円がずれた場合は、「選択」のツールを使って円を囲んで、中心に合うように移動することもできる。
これで背景とスプライトの準備は完了だ。以下の画面では作成したスプライトのx座標
とy座標が0になっているけれど、今の段階
ではどこにあっても大丈夫だよ。
3 変数の作成
まずは「1 打ち上げ花火の形を決める方法」で説明した花火の形を決める4つの変数を用意しよう。今回はこの変数は最初に用意しておいて、打ち上げのコードも先につくる作戦
にするよ。QRコードの内容をこの変数に設定するのは最後にすれば、花火を打ち上げるコードのテストがしやすいからだ。
まずは変数をつくろう。今回は一度に1つしか花火を打ち上げないので、「すべてのスプライト用」で大丈夫だよ。複数
の花火を打ち上げる場合は「このスプライト用」にしておいた方がよいだろう。「数」「色」「大きさ」「重なり」の4つの変数をつくろう。
全ての変数が用意できたら、テストをするために4つの変数を以下のように設定しておこう。完成まで変数はステージに表示したままにしておこう。その方が確認しやすいぞ。
4 打ち上げのコード
円のスプライトに、形の4つの変数を使った打ち上げのコードをつくっていこう。
花火の星が準備できたら「メッセージ1」を送るようにしたので、そのメッセージを受け取って、それぞれが消えながら広がる部分は以下のようになるね。
緑の旗
をクリックして、うまく動作するか確認してみよう。
5 QRコードの読み取り
最後に変数の値をQRコードの内容を元に決める部分をつくろう。それぞれの変数の数の範囲
と、QRコードの内容をどのように使うかについて整理しておこう。
拡張機能からQRコードを追加しよう。
カメラでQRコードを読み取り、QRコードの内容をもとにして、変数に数を設定する以下のようなコードをつくろう。
つくった変数を設定するコードが緑の旗が実行されたときに実行されるように、ブロック定義
を使ってみよう。新しく「QRコードの読み取り」というブロックを作成しよう。
全てをまとめたコードを掲載
しておくね。
最後に変数をステージから隠
すように、変数の名前の左にあるチェックボックスを外しておこう。
今回のQR打ち上げ花火のコードは以下からダウンロードできるぞ。リンク先にアクセスをして、zipファイルをダウンロードしてね。zipで圧縮
されているので、解凍
して、できたsb3ファイルを読み込んで使用してね。
<文/杉浦 学(鎌倉女子大学)>
子供の科学2020年8月号
特集ではサイエンスアーティスト・YouTuberとしても活躍している市岡元気先生の実験術を伝授! とじ込み付録は図形認識能力が身につく算数パズル「三食問題の謎を解け」。出題されている問題をパズルで解いてみよう!
8月号の詳細はこちら