Scratchでスプライトをキーボード操作する、簡単なレースゲームを作る&ペイントエディターの使い方:Scratchで始めるプログラミング教育(2)(2/2 ページ)
ビジュアルプログラミングツールである「Scratch」を使って、プログラミングで何ができるのかを体験してもらう本連載。今回は、スプライトをPCのキーボードで動かす方法や、歩くスピードをランダム(不規則)に変化させる方法、猫を3匹配置して競争させる方法などについて。
スプライトの歩くスピードをランダム(不規則)にしてみよう
次に、ステージ上の猫の歩くスピードをランダム(不規則)に変化させてみる。スピードをランダムに変化させるとは、猫の歩くスピードが速くなったり、遅くなったりするということだ。
プログラミングの仕方や解説については動画2を参照してほしい。
以降、動画2のポイントをテキストでも補足しておく。
「演算」分類の「乱数」(不規則な数)を使う
歩く速さをランダムに変化させるには、「制御」分類にある「1秒待つ」の箇所に、乱数を発生させる命令(「演算」分類内にある)を指定することで実現できる(図3)。「乱数」とは「数字がたくさんのサイコロを振って、出た目の数を使っている」というイメージでよいだろう。
猫に指定する命令は図4のような命令になる。
猫を歩かせる処理は今まで通りで、図4の「(0.01から0.5までの乱数)秒待つ」での処理で、猫の歩くスピードがランダムに変化することになる。
この処理を使用すると、レースゲームのようなものを作ることができる。次章で解説しよう。
猫を3匹並べて競争させる、レースゲームを作ってみよう
最後に、猫を3匹並べて、競争させるサンプルを紹介する。いずれかの猫がゴールに到達した時点で全てが終了する。ゴールの赤い線に、3匹の猫の内1匹でも到達すれば、全てが終了する(図5)。
プログラミングの仕方や解説については動画3を参照してほしい。
以降、動画3のポイントをテキストでも補足しておく。
ステージ上に「背景」を読み込んで、「ペイントエディター」で赤い線を引く
ステージ上に「背景」を読み込んで、背景の上に赤いゴールの線を引いておく(図2)。「ステージ」から「背景」を選択して、任意の背景を読み込むと、「ペイントエディター」が起動するので、「直線」と「赤色」を選択し、「線の太さ」を指定して、背景上にゴールを引く。
「調べる」分類にある「衝突判定」でゴールかどうか決める
ステージ上のスプライト(猫)を複製して3匹用意して、縦に並べておく。3匹の猫の命令は、ほとんどが同じ命令だ。ただ、出発時点のY座標の値だけは、3匹とも異なるため、Y座標の値は変更させておく。X座標の値は同じだ。
命令は図3のようになる。これは「Sprite1の猫(一番下の猫)」の命令だ。残り2匹の猫の命令は「Y座標を●●にする」の「●●」の値が異なるだけだ。
猫がゴールに到着したかどうかは、茶系統色(猫の色)がゴールの赤系統色に触れたときで判定をしている。3匹のうち1匹でも、ゴールの赤系統色に接触すると、プログラムが終了する仕組みになっている(図3)。
この「茶系統色(猫の色)がゴールの赤系統色に触れたとき」はプログラム上では「〜が〜に触れたとき」という「調べる」分類にある「衝突判定」を使っている。この「衝突判定」というのはゲームなどでよく使われるプログラミングの考え方だ。
プログラムのコピーはスプライトごとにもできる
命令は、残り2つのスプライトにコピーできる(図4)。スクリプトエリアの命令の固まりを、Sprite2の上にドラッグ&ドロップすることで、Sprite2にコピーできる。
コピー方法の詳細については、動画3の中で解説しているので、参照してほしい。
次回は、キャラクターをマウスの動きに着いていかせて、「ペン」で線を描く
次回は、まず今回紹介したペイントエディターで図形を描く方法を紹介し、キャラクターをマウスの動きに着いていかせて、「ペン」で線を描く命令を使う方法、さらに猫のクローン(複製)を作る方法も紹介するので、お楽しみに。
参考書籍
- 『Raspberry Piではじめるどきどきプログラミング』(阿部和広/石原淳也/塩野禎隆 著、日経BP刊)
著者紹介
薬師寺 国安(やくしじ くにやす) / 薬師寺国安事務所
薬師寺国安事務所代表。Visual Basicプログラミングと、マイクロソフト系の技術をテーマとした、書籍や記事の執筆を行う。
1950年生まれ。事務系のサラリーマンだった40歳から趣味でプログラミングを始め、1996年より独学でActiveXに取り組む。
1997年に薬師寺聖とコラボレーション・ユニット「PROJECT KySS」を結成。
2003年よりフリーになり、PROJECT KySSの活動に本格的に参加。.NETやRIAに関する書籍や記事を多数執筆する傍ら、受託案件のプログラミングも手掛ける。
Windows Phoneアプリ開発を経て、現在はWindowsストアアプリを多数公開中。
Microsoft MVP for Development Platforms - Client App Dev (Oct 2003-Sep 2012)。
Microsoft MVP for Development Platforms - Windows Phone Development(Oct 2012-Sep 2013)。
Microsoft MVP for Development Platforms - Client Development(Oct 2013-Sep 2014)。
Microsoft MVP for Development Platforms-Windows Platform Development (Oct 2014-Sep 2015)。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- コードを書かずにプログラミングができる、ScratchとScratch2MCPIの基礎知識、インストール方法と簡単な使い方
本連載では、子どもたちに大人気のゲーム「Minecraft」を題材にYouTube実況動画付きで「プログラミング」を学んでいく。今回は、ScratchとScratch2MCPIの概要を紹介し、インストール方法と簡単な使い方をYouTube実況動画で解説する。 - 子どもにプログラムの手順だけでなく概念を伝えたい
子ども向けプログラミング環境「Scratch」を学ぶ小学生が増えている。ものづくり寺子屋&きょーくりっの共同授業をレポートする。 - 「プログラマーって何するのが仕事なの?」と聞かれたときや、初心者がプログラミングを学ぶ前に読んでほしいマンガ「じゃまめくん」とは
人気過去連載を一冊に再編集して無料ダウンロード提供する@IT eBookシリーズ。Vol.6は、プログラミング初心者が、プログラミングを学ぶ前に読んでほしいマンガ連載『オブジェマンガ じゃまめくん』だ。