かしはらし Scratchプログラミングで学ぶ場所の表し方
場所を表す色々な方法
人に場所を説明する際、どのようにして相手に伝わるように表現するでしょうか。指をさして場所を指定する、今いる場所からどのような道筋で行くかを説明する、住所を教える、大体の方角と距離を伝える等々場所を説明する為の手段は数多く存在しています。それぞれ良い点、悪い点が存在しており、その時々に合わせて使い分けていく必要があります。しかしプログラムは違います。プログラムは1つの手段でのみ場所を表現します。この手段が座標です。基準となる地点を1つ設定し、そこから目標地点までの各方向の移動距離を指定することで目標地点を表す方法になります。基準や各方向の向き、数などは場合によって異なりますが基本的な考え方は同じです。そしてこの座標の考え方はScratchにも勿論使われています。Scratchでプログラミングを行っていくにはこの座標と言う考えかたをしっかりと把握しなければ自分の思い通りの動きを実現させることは難しいでしょう。
場所を表す重要性について
Scratchに限らず、プログラミングを行っていく上で自分の想像した通りの位置に要素を配置するスキルは必須になってきます。どのようなプログラムを作成する場合でも命令には場所の情報が必要になってきます。例えば自動販売機の場合、ボタンが押されたらその位置をまず把握し、指定された飲み物がある場所に対してそれを出すよう命令していく必要があります。ここだけで場所の情報を2回も使っています。車の場合、アクセルペダル、ブレーキペダルをどの位置まで踏んだのか、ハンドルをどれくらい回したのか等場所情報がかなりの頻度で使われます。このように機械はたくさんの位置情報を正確に把握し、それに対して動きを変えていかなければいけません。また、ゲームやWebサイト等、実際の動きが目に見えないものでも位置情報はたくさん使われています。例えばWebサイトですが、マウスポインタが上に来た時に画像が切り替わるような動きをつける場合、マウスポインタの位置や画像を切り替える範囲などを指定しなければいけません。プログラミングを行っていくうえで場所を示す情報は必須なのです。
プログラミングにおいて場所を示す方法
プログラミングを行っていくうえで様々な数字や情報を取り扱っていきます。その中に場所の情報もあります。最初に記述したように場所を示す方法は多数あります。直接指さす、道筋を説明する、住所を伝える等々…。プログラミングで一番使われる方法は座標を示す方法です。基準となる点を原点にし、その地点から各軸の方向にどれだけ離れているかで表します。この方法のメリットは2つです。1つは情報量が少ないことです。平面上であれば縦方向と横方向の2つの数字、立体であればそれに奥行きを足して3つの数字でそれぞれ決まった1つの点を表すことが出来ます。Scratchは平面なので基本的に2つの数字を使って場所を指定していきます。少し難しい計算をして応用すればScratchでも立体的な表現をすることが出来ますが今は省きます。Scratchに限らず、おおよそ平面上で座標を示す時は横方向の軸をX軸、縦方向の軸をY軸と呼び、それぞれの軸方向にどれだけ移動したかをX座標、Y座標と呼びます。この数字を操ることで好きな位置から好きな方向に好きな距離を移動させることが出来るようになります。
Scratchで座標を利用する方法
実際にScratch上でどのように座標を触っていくのかを説明していきます。まず、スプライトの表示位置を調節する時に座標を触ります。この場合、旗を押した際に表示させたい位置へ移動するようなプログラムを組みます。場所を変える、ということはつまり座標を弄るということです。これから先、何度も場所を変えたりすることがあると思いますが、場所関係の動きの場合はほぼ確実に座標を触るんだ、と理解しましょう。さて、どのようにして座標を弄るかと言いますとブロックに「X座標を~に、Y座標を~にする」というものがあります。このブロックの数字をそれぞれ指定してあげることでこの命令を実行した際にその座標の位置にスプライトが移動します。このようにScratchで座標を利用する方法はとても簡単で、ブロックに座標と書いてあるものを使うだけです。但し、ブロックが違えば動きは変わってきますのでそれぞれのブロックがどのように座標を変えるのかをしっかりと把握しなければいけません。
Scratch上での座標の基準
座標を決めるためには基準となる原点が必要になります。Scratchにももちろん原点が存在しております。原点の位置はステージの中心になります。そして各座標にも上限が存在します。その上限を超えるとステージからはみ出してしまうので基本的にこの上限値以内で各座標を触っていくことになります。その上限値ですがX座標の最大が280、Y座標お最大が180となります。また、それぞれの座標の数字ですが、X座標が大きくなれば右方向に、Y座標が大きくなれば上方向にずれていきます。ここで中心から左や下に行くにはどうすればよいか。それは先ほどとは逆のことをするので数字を小さくすればよいのです。0より小さい数字にすれば中心より左、下に指定することが出来ます。0より小さい数字とは負の数、つまりマイナスの数です。数字の手前に”ー”をつけるだけで大丈夫です。慣れるまでは計算など大変ですが、何度も触って慣れていきましょう。