アクティビティでは、実際に手を動かしてプログラムを作っていきます。
動くダイナソー1
すべてのプログラムに必要なものは、プログラムがスタートするきっかけです。これはトリガー(引き金の意)と呼ばれます。スクラッチでは多くの場合、緑の旗の実行ボタンでこのきっかけを作ります。スクリプトの一番上に旗のコードを持っていくることで、実行ボタンのクリックでプログラムがスタートします。
いつも同じ場所に移動する
- スクラッチのサイトにアクセスして、サインインしていない場合はサインインします。
- ページ真ん中にある[プロジェクトを作る]をクリックするか、ページ上部の[作る]をクリックして、新しいプロジェクトを作成します。
- 新しいプロジェクトが作成されます。ページ上部にあるテキストボックスにプロジェクト名を入力します(動く恐竜1など)
- 「2-1 動かしてみよう」の「スプライトを変える」で行ったように、ネコのスプライトを削除し、好みの新しいスプライトを追加します。以下ではDinosaur2を使っています。
- 今、スプライトリストではDinosaur2の周りが強調表示されているので、Dinosaur2が選ばれていることが分かります。左上の[コード]から[イベント]をクリックして選択し、一番上の[緑の旗が押されたとき]ブロックをスクリプトエディターにドラッグします。
- Dinosaur2のスタート位置を決めます。ステージ上でDinosaur2をドラッグし、ステージの左下隅に移動させます。
- [コード]の[動き]をクリックし、[x座標を()、y座標を()にする]ブロックを、緑の旗のブロックにドラッグ&ドロップします。[x座標を()、y座標を()にする]には、今のスプライトの正確な(x,y)位置が入っています。
- ステージのDinosaur2を別の場所に移動させます(ドラッグします)。
- 緑の旗の実行ボタンをクリックします。するとDinosaur2は移動させる前の位置に瞬間移動します。
- Dinosaur2をまた別の場所にドラッグして、緑の旗の実行ボタンをクリックします。スクリプトのxとyの数値は変わらないので、何回Dinosaur2を別の場所に移しても、毎回同じ場所に戻ることを確認してください。
ドラッグしたコードブロックは、その時点で選ばれていたスプライトに適用されます。今はDinosaur2が選ばれているのでこれに適用されます。
「2-1 動かしてみよう!」の「座標」で見たように、[x座標を()、y座標を()にする]ブロックは、メニュー内にあるとき、ステージのスプライトを移動させると、そのときの位置を取得します。

この動作は、緑の旗の実行ボタンのクリックで[緑の旗が押されたとき]イベントコードブロックが実行され、その後[x座標を()、y座標を()にする]ブロックが実行されるからです。
左から右へ移動する
- ステージのDinosaur2を右にドラッグします。ここが移動の終了位置になります。
- すると[動き]のxとyを持つブロックの数値が、Dinosaur2の移動先の座標の数値に変わります。
- [動き]の上から7つめの[(1)秒でx座標を()に、y座標を()に変える]ブロックをドラッグして、[x座標を()、y座標を()にする]ブロックの下に吸着させます。
- 緑の旗の実行ボタンをクリックして、プログラムを実行します。右にあったDinosaur2が左に瞬間移動し、その後右に動いて(瞬間移動ではなく)やがて止まります。
- 緑の旗の実行ボタンを再度クリックします。すると(4)の動作と同じように、Dinosaur2が左に瞬間移動し、その後右に動いてやがて止まります。
[(1)秒でx座標を()に、y座標を()に変える]ブロックは、これが適用されたスプライトの位置を、指定された秒数だけかけて、指定されたxy位置に移動させます。一定の時間をかけるので瞬間移動ではなく、移動の様子を目で追うことができます。プログラミングではこの動作はアニメーションと呼ばれます。
Dinosaur2に設定したスクリプトのコードブロック1つ1つを見て、なぜこの動作になるのか、考えてみてください。なぜこうなるのか、考えることは非常に重要です。
移動した後向きを変える
つづいて、右端に来たら向きを変えるようにしましょう。
- スプライトリストの[向き]をクリックして、真ん中の[左右のみ]をクリックします。これによりスプライトは逆さまにならなくなります。
- [動き]の[(90)度に向ける]ブロックをドラッグして、[(1)秒でx座標を()に、y座標を()に変える]ブロックの下に吸着させます。左向きにさせたいので、ブロックの90という数値を-90に変更します。
- 緑の旗の実行ボタンをクリックします。右を向いたDinosaur2が右へ進み、止まったら反転します。うまくいったように見えます。
- もう一度実行ボタンをクリックします。だめです、Dinosaur2は左を向いたまま後ろ向きに進んでしまいます。
- [動き]から[(90)度に向ける]ブロックをドラッグします。行先は[緑の旗が押されたら]ブロックのすぐ下です。挿入したいブロックとブロックの間に近づけると自動的にグレーの領域ができます。または[(1)秒でx座標を()に、y座標を()に変える]ブロックをドラッグすると、それに連なる2つもいっしょにドラッグできます。一度3つを下に切り離しておいて、[(90)度に向ける]を[緑の旗が押されたら]に吸着させ、その後で[(1)秒でx座標を()に、y座標を()に変える]をドラッグして

コンピュータには実行したいことを全部伝えないと、思った通りに動作してくれません。これはよくあることです。コンピュータは、何が正しいかを知らないので、その都度教えてやる必要があります。今の場合には、実行ボタンがクリックされたすぐ後に、右を向かせることで解決できます。
3つをいっしょに吸着させる方法もあります。

コードブロックのかたまりは、一番上のブロックのドラッグで全部がドラッグできます。これはかたまりを切り離したいときにも応用できます。
ここではスプライトリストの[向き]の[左右のみ]ボタンを使いましたが、コードブロックを使って設定することもできます。
スタート位置に戻す
左を向いたDinosaur2をアニメーションさせて最初の位置に戻しましょう。
- アニメーションさせるには、[(1)秒でx座標を()に、y座標を()に変える]ブロックを吸着させます。
- 上の[x座標を()、y座標を()にする]のxとyの数値をそれぞれコピーして、[(1)秒でx座標を()に、y座標を()に変える]にペーストします。
- 緑の旗の実行ボタンをクリックして確認します。思ったように動作します。
テキストボックスの文字をコピーするには、マウスカーソルをボックスに重ね、カーソルがIになったときにクリックします。するとボックス全体が反転し文字が変更できるようになります。

プログラムの実行中、スクリプトは黄色の太線で囲まれ、終了すると消えます。
プロジェクトの保存と再開
プロジェクトを保存する場所は2つあります。1つはスクラッチのサーバー上で、もう1つは自分のPCです。
スクラッチのサーバー
-
保存:
- [ファイル]->[直ちに保存]を選択します。
-
プロジェクトを開く:
- 画面上部、右端にある[ユーザー名]の左にあるフォルダアイコンのボタンをクリックします。
- [私の作品]の一覧が表示されるので、開きたいプロジェクトの[中を見る]ボタンをクリックします。
自分のPC
-
保存:
- [ファイル]->[コンピューターに保存する]を選択します。
- [名前を付けて保存]ダイアログが表示されるので、ファイル名を入力して[保存]をクリックします。拡張子はsb3です。
-
プロジェクトを開く:
- [ファイル]->[Load from your computer]を選択します。
- [開く]ダイアログ表示されるので、開きたいsb3ファイルを指定して[開く]ボタンをクリックします。
Scratchは、MITメディア・ラボのライフロング・キンダーガーテン・グループの協力により、Scratch財団が進めているプロジェクトです。http://scratch.mit.eduから自由に入手できます。