- GUIベースの環境でプログラミングを始めよう -
Scratchプログラミングの二歩目、自由な動きを付ける
鳥人間 郷田まり子2009/10/7
キーボードやマウスなどによるユーザーの動作に反応してみたり、さらには変数を使用して、プログラミングの自由度を上げていこう
- - PR -
前回「非プログラマのためのプログラミング講座」は、グラフィカルなプログラミング環境「Scratch」をインストールし、プログラミングの第一歩を体験し、さらに、繰り返し処理を行うための制御ブロックを使用してみたところです。
今回は、キーボードやマウスなどによるユーザーの動作に反応してみたり、さらには変数を使用してデータをスマートに扱ったりしながら、プログラミングの自由度を格段に上げていきます。
キーボード・マウス処理でインタラクティブに
ユーザーの入力に対して相応の処理を行うことで、対話的(インタラクティブ)なプログラムを作ることができます。scratch では、「キーが押された」「マウスのボタンが押された」「スプライトがクリックされた」といったイベントに応じた処理を細かく作っていくことができます。
まずはキーボード操作。
![]() |
どのキーが押されたときにどんな処理が行われるかを規定することができます。「スペースキーが押されたとき、10歩動かす」といった具合です。これを使って、
「上向き矢印キーが押されたとき/0度(上)に向ける/20歩動かす」
「下向き矢印キーが押されたとき/180度(下)」に向ける/20歩動かす」
「右向き矢印キーが押されたとき/90度(右)に向ける/20歩動かす」
「左向き矢印キーが押されたとき/−90度(左)に向ける/20歩動かす」
というプログラムを書いてみると……
![]() |
キーボードでキャラクタを操作できるようになりました。上下左右のキーを押してみてください。押した方向にネコを歩かせることができます。
さらに、「スプライト1がクリックされたとき」といったマウス制御ブロックにつなげることで、マウスを使った操作を作ることができます。
例えば、次のように「スプライト1がクリックされたとき→『いてっ』と2秒言う」プログラムを組むと、スプライト(ネコ)をクリックしたときに「いてっ」という吹き出しが表示されるようになります。![]() |
変数を使う
プログラムを書いていくと、目に見えない値を変化させていく必要が出てきます。回数をカウントする、ゲームキャラクターのヒットポイントを管理する、そういったことはすべて「変数」を使って行います。
難しく考える必要はなく、数値の入れ物のようなものと考えればよいでしょう。
変数にはそれぞれ名前を付けられるので、分かりやすい名前を入力します。
「新しい変数を作る」で作成することができます。
![]() |
「すべてのスプライト用」と「このスプライト用」の2種類があります。
「すべてのスプライト用」は、このプロジェクトの全体で使う変数です。
![]() |
変数を作るときのラジオボタンで「このスプライト用」を選ぶと、現在選択中のスプライトの属性としての変数になります。
複数のキャラクターが入り乱れるようなプロジェクトで、「ある特定のキャラクターの体力」「壁の耐久度」といったものを個別に持たせるような場合に使います。
「すべてのスプライト用」を選ぶと、プロジェクト全体で共有できる変数となります。ユーザーの状況、経過時間、スコアなどを管理するのに適しています。
作成した変数は、「変数」タブに一覧が表示されます。変数はいくつでも作ることができます。
![]() |
| 1-2 |
| INDEX | ||
| マウスだけでもプログラミングできる!(2) 非プログラマのためのプログラミング講座 |
||
| Page1 キーボード・マウス処理でインタラクティブに 変数を使う |
||
| Page2 変数の変化と条件文 制御ブロックのいろいろ スプライト同士の相互作用 条件の組み合わせ 次回予告 |
||
マウスだけでもプログラミングできる! バックナンバー 連載インデックスへ»
- 第1回 非プログラマのためのプログラミング講座
- 第2回 Scratchプログラミングの2歩目、自由な動きを付ける
- 最終回 ITちゃんのゲームをScratchで作りWeb上で共有しよう
| 「デザインハック」コーナーへ |
TechTargetジャパン
- コンテンツ政策ヲ転換セヨ! (2012/2/10)
mixiにしろTwitterにしろニコ動にしろ、ソーシャルサービスは伸びている。シロウトの個人が作るコンテンツで成り立つサービスだ - NFCやLTE対応予定のiPhoneと、先行するAndroid (2012/2/9)
iPhoneとAndroid、そしてWindows Phoneという3つのOSの今後を占う。それぞれの通信規格とコンセプトは? - 家電のUIになるブラウザ (2012/2/3)
未来の家電はインターネットに接続でき、ブラウザが内蔵されてくる。家電にブラウザが載ったらどうなるか? 未来のホームネットワークを想像しよう - 「汎用のUI技術」として広がるHTML5 (2012/2/2)
すさまじい勢いで成長しているHTML5を中心としたオープンなWebプラットフォーム。HTML5やAPI、Webブラウザのアップデート情報をお伝えする
|
|






