Squeakでプログラミング入門--Squeak EToysで図形を動かす

沖林正紀
2008-03-14 18:00:00
Squeak EToysは、図形描画ツールとGUIプログラミングが融合した実行環境だ。特徴は、図形を描くだけではなく、それを動かすこともできることだ。図形の動かし方とは、即ちプログラミングである。
最新特集【一覧】

図形を連続して動かす

 マウスのクリックで図形を動かすだけでなく、連続して動かすこともできる。それには、「スクリプト1」の右にある「ノーマル」をクリックして「チクタク」に変更する。

 こうすると、先ほどのマウスのクリックを自動的に行っている状態になり、マウスをクリックしなくても図形は回転を続ける。

 この回転を止めるには、「チクタク」を「ノーマル」に戻すか、すぐ左の時計型アイコンをクリックする。

回転する角度の変更

 マウスのクリックごとに回転する角度(回転角)は、デフォルトでは5度となっている。これを変更するには、「星を回す」の右にある三角の印をクリックするか、数値をクリックして直接入力する。

図形の位置を動かす

 図形の位置を動かすには、大きく分けて2つの方法がある。以下、それぞれについて説明する。実際の動作は動画3を参照していただきたい。

  • a. 向きに沿って動かす
  • b. 図形のx座標,y座標を変更する

a. 向きに沿って動かす

 ビューワ内にある「星を進める」をワールド内にドロップすると、図形を現在の向きに沿って動かす「スクリプト2」が作成される。「!」をマウスでクリックすると、図形が移動するはずだ。

 こちらも「チクタク」に変更すれば自動的に図形が動き出すが、そのままにしておくとワールドの端にぶつかってしまうので、そうなったら動作を止めよう。図形そのものをドラッグして位置を戻しても良い。

b. 図形のx座標,y座標を変更する

 x座標,y座標とは、ビューワ内にある「星(図形の名称)のx座標」および「星のy座標」のことだ。画面に表示されている数値は、ハロで図形を回転させるときに表示される図形の中心の座標だ。それぞれの意味は以下の通り。

  • x座標:ワールドの左端から図形の中心までの距離を表し、数値が小さいほど図形は左に位置し、数値が大きいほど図形は右に位置する
  • y座標:ワールドの下端から図形の中心までの距離を表し、数値が小さいほど図形は下に位置し、数値が大きいほど図形は上に位置する

 これらの数値を変更すると図形の位置を移動できることが、お分かりいただけるだろうか。図形が移動する方向とそれぞれの座標の増加、減少との対応を図3に示す。

図3 図形が移動する方向とx座標,y座標の計算 図3 図形が移動する方向とx座標,y座標の計算

 次回は、このように数値を変更することで図形を移動させる方法を紹介したい。