TOMONOプログラミング初心者の子供に何を教えたらいいの?とお悩みの保護者のためのScratch(スクラッチ)の入門講座。Scratchで猫の動かし方はわかったけど・・・次にどんなことをしたらいいの?という疑問にお答えするシリーズです。今回は「変数」の応用編について解説します。Scratchではクローンごとに変数を使い分けたい!ということがあります。それを実現するのはとっても簡単。今回はそのノウハウをお伝えします。変数とは?変数とは、値(あたい)を入れる箱のようなものです。値(あたい)には、数値や文字列などがあります。変数の箱には名前がつけられるようになっていて、変数の箱の名前のことを「変数名」といいます。Scratchの変数については、以下の記事でも紹介していますのでそちらを参考にしてください。変数を作る時のダイアログに、「すべてのスプライト用」「このスプライトのみ」「クラウド変数(サーバーに保存)」が選択できるところがあります。「すべてのスプライト用」を選択して作った変数をグローバル変数、「このスプライトのみ」を選択して作った変数をローカル変数と言います。Scratchで作品を作る時グローバル変数を使う方が一般的ですが、ローカル変数を使った方が都合が良い場合があります。それは、どんなときかというと、クローンごとに異なる変数値を使いたい場合。そんな特殊なケースでの変数の使い方について、次の項目で解説いたします。ローカル変数とクローンの実験ローカル変数とクローンの関係について、どのような働きがあるか?以下の点について調べてみたいと思います。クローンはローカル変数の値を使えるか?「クローンはローカル変数の値を使えるか?」ということを検証するために以下のようなプログラムを作ってみました。クローンとオリジナルを見分けがつきやすくなるように、クローンされた時に色が変わるようにしています。クローンがローカル変数を使えるならクローンが「2」という数字を言うはずです。プログラムの実行結果はこちら。クローンのネコ(緑のネコ)は、すべて「2」と言いました。クローンさせた時、各クローンのローカル変数の値を変えられるか?「クローンさせた時のローカル変数の値を、クローンごとに変えてもたせておくことができるか?」これを検証するために、先ほどのプログラムを次のように変えてみました。下の図の矢印の部分のブロックを一つ足しただけです。すると・・・今度はクローンごとに言う番号が変わりました。この結果から、各クローンはクローンされた時点のローカル変数の値を持っているということがわかります。クローンされた後に、各クローンごとにローカル変数の値を変えられるか?先ほどは、クローン時点の変数の値を検証しました。今度は、クローンした後に変数の値を変えられるかどうかを検証してみたいと思います。そこで、下の図の赤枠で囲ったプログラムを追加してみました。先ほどのプログラムの実行後の状態から、以下の図の赤い矢印のネコをクリックすると・・・そのネコの変数の値だけが変わっていきます!どうやら、クローンはローカル変数の値を別々に持つことができるようです。番外編:クローンとグローバル変数せっかくなので、クローンとグローバル変数の関係についても確認しておきたいと思います。先ほどのプログラムに1行追加しました。クローンをクリックした時に、グローバル変数が変わるかどうかを確かめてみます。全部のネコをクリックしてみました。すると・・・グローバル変数はどのネコをクリックしても値が1づつ変わっていきました。どのクローンからもグローバル変数にはアクセス可能なようです。ローカル変数とクローンを使ったプログラムでは、このようにクローンごとに変数を使い分けられるとどんないいことがあるのでしょうか?この性質を応用したプログラムをご紹介します。(1)弾幕作り弾を連続で発射させる弾幕を作る時、弾のクローンごとに発射角度を持たせておくと発射した時の角度のまま弾が進んでいくことが可能になります。▼参考プログラム1https://scratch.mit.edu/projects/229548730/▼参考プログラム2https://scratch.mit.edu/projects/229555520/(2)敵キャラの当たり判定シューティングゲームやアクションゲームなどで敵キャラをクローンさせるとき、2回の攻撃で敵やっつける、といったことをローカル変数で実現することができます。(3)クローンごとにアクションを変えるローカル変数「クローン番号」という変数をつくり、クローンごとに番号を割り振っておけば、この番号のクローンはこの動きをする、などクローン番号を指定して動作を変えることが可能になります。まとめ今回は、ローカル変数の特殊な使い方と使用例について解説しました。クローンごとに、変数の値を使い分けたい時にはこの方法を試してみてくださいね。知っておくと便利なので、「クローン」と「変数」で困った時には思い出してもらえると嬉しいです。TOMONO教育ヲタクの1児の母。小学生の頃から教育書を読んでいた教育ヲタク。大学では、電池の素材の性質について実験とコンピューターシミュレーションを比較する研究を行っていたことがきっかけでSEになる。出産&育休後、子ども向けプログラミング教室講師、子どもたちの考える力を育てるオンライン塾の講師。TOMONO一緒に読まれている記事。Minecraftでプログラミング教育したい人のためのレッドストーン回路クイズ(17)コンパレーターその22019年8月9日970こんにちは。今日もMinecraftのコ...夏に応募したい!2019年子どもプログラミングコンテスト3選2019年7月29日1.14K夏休みが始まりましたね。子どもの頃は楽し...5歳児もハマるプログラミングアプリ-Springin’はじめて講座(4)絵の削除・インポート2019年7月26日865今日もSpringin’の続きです。新小学1年生の入学準備!知って安心、保幼少接続カリキュラム2020年1月14日2020年は教育はどうなるのか?ーやる気が出ない日に未来を心配してみる2019年12月27日プログラミングアプリSpringin’でマリオ風アクションゲームを作ろう(2)キャラクターの操作2019年12月13日プログラミングアプリSpringin’でマリオ風アクションゲームを作ろう(1)ステージの作成2019年12月6日あなたへのおすすめ。暗算が早い子の頭の中、暗算が遅い子の頭の中ー算数ができる子が持っている「量的感覚」のこと2018年11月16日プログラミング初心者のためのScratch(スクラッチ)入門-基礎の基礎編(1)2018年7月31日2020年教育改革-AI時代の教育指標「ブルームタキソノミー」の話2018年12月5日ゲームで頭のいい子を育てるー幼児xマインクラフトの3つの教育的効果2018年11月14日このサイトについて。今、注目されている考えさせる教育、アクティブラーニング。AI時代に教えるべき教育とは何か。2020年に教育必修化するプログラミング教育を交えながら、これからの教育シーンに必要な情報をお届けします。CATMADE,Inc.サイトマップ。