スクラッチプログラミング

2-2 チャレンジ#1

アクティビティでは、実際に手を動かしてプログラムを作っていきます。

動くダイナソー1

すべてのプログラムに必要なものは、プログラムがスタートするきっかけです。これはトリガー(引き金の意)と呼ばれます。スクラッチでは多くの場合、緑の旗の実行ボタンでこのきっかけを作ります。スクリプトの一番上に旗のコードを持っていくることで、実行ボタンのクリックでプログラムがスタートします。

いつも同じ場所に移動する

  1. スクラッチのサイトにアクセスして、サインインしていない場合はサインインします。
  2. ページ真ん中にある[プロジェクトを作る]をクリックするか、ページ上部の[作る]をクリックして、新しいプロジェクトを作成します。
  3. 新しいプロジェクトが作成されます。ページ上部にあるテキストボックスにプロジェクト名を入力します(動く恐竜1など)
  4. 「2-1 動かしてみよう」の「スプライトを変える」で行ったように、ネコのスプライトを削除し、好みの新しいスプライトを追加します。以下ではDinosaur2を使っています。
  5. 今、スプライトリストではDinosaur2の周りが強調表示されているので、Dinosaur2が選ばれていることが分かります。左上の[コード]から[イベント]をクリックして選択し、一番上の[緑の旗が押されたとき]ブロックをスクリプトエディターにドラッグします。
  6. ドラッグしたコードブロックは、その時点で選ばれていたスプライトに適用されます。今はDinosaur2が選ばれているのでこれに適用されます。

  7. Dinosaur2のスタート位置を決めます。ステージ上でDinosaur2をドラッグし、ステージの左下隅に移動させます。
  8. [コード]の[動き]をクリックし、[x座標を()、y座標を()にする]ブロックを、緑の旗のブロックにドラッグ&ドロップします。[x座標を()、y座標を()にする]には、今のスプライトの正確な(x,y)位置が入っています。
  9. 「2-1 動かしてみよう!」の「座標」で見たように、[x座標を()、y座標を()にする]ブロックは、メニュー内にあるとき、ステージのスプライトを移動させると、そのときの位置を取得します。

  10. ステージのDinosaur2を別の場所に移動させます(ドラッグします)。
  11. 緑の旗の実行ボタンをクリックします。するとDinosaur2は移動させる前の位置に瞬間移動します。
  12. この動作は、緑の旗の実行ボタンのクリックで[緑の旗が押されたとき]イベントコードブロックが実行され、その後[x座標を()、y座標を()にする]ブロックが実行されるからです。

  13. Dinosaur2をまた別の場所にドラッグして、緑の旗の実行ボタンをクリックします。スクリプトのxとyの数値は変わらないので、何回Dinosaur2を別の場所に移しても、毎回同じ場所に戻ることを確認してください。

左から右へ移動する

  1. ステージのDinosaur2を右にドラッグします。ここが移動の終了位置になります。
  2. すると[動き]のxとyを持つブロックの数値が、Dinosaur2の移動先の座標の数値に変わります。
  3. [動き]の上から7つめの[(1)秒でx座標を()に、y座標を()に変える]ブロックをドラッグして、[x座標を()、y座標を()にする]ブロックの下に吸着させます。
  4. 緑の旗の実行ボタンをクリックして、プログラムを実行します。右にあったDinosaur2が左に瞬間移動し、その後右に動いて(瞬間移動ではなく)やがて止まります。
  5. 緑の旗の実行ボタンを再度クリックします。すると(4)の動作と同じように、Dinosaur2が左に瞬間移動し、その後右に動いてやがて止まります。

[(1)秒でx座標を()に、y座標を()に変える]ブロックは、これが適用されたスプライトの位置を、指定された秒数だけかけて、指定されたxy位置に移動させます。一定の時間をかけるので瞬間移動ではなく、移動の様子を目で追うことができます。プログラミングではこの動作はアニメーションと呼ばれます。

Dinosaur2に設定したスクリプトのコードブロック1つ1つを見て、なぜこの動作になるのか、考えてみてください。なぜこうなるのか、考えることは非常に重要です。

移動した後向きを変える

つづいて、右端に来たら向きを変えるようにしましょう。

  1. スプライトリストの[向き]をクリックして、真ん中の[左右のみ]をクリックします。これによりスプライトは逆さまにならなくなります。
  2. [動き]の[(90)度に向ける]ブロックをドラッグして、[(1)秒でx座標を()に、y座標を()に変える]ブロックの下に吸着させます。左向きにさせたいので、ブロックの90という数値を-90に変更します。
  3. 緑の旗の実行ボタンをクリックします。右を向いたDinosaur2が右へ進み、止まったら反転します。うまくいったように見えます。
  4. もう一度実行ボタンをクリックします。だめです、Dinosaur2は左を向いたまま後ろ向きに進んでしまいます。
  5. コンピュータには実行したいことを全部伝えないと、思った通りに動作してくれません。これはよくあることです。コンピュータは、何が正しいかを知らないので、その都度教えてやる必要があります。今の場合には、実行ボタンがクリックされたすぐ後に、右を向かせることで解決できます。

  6. [動き]から[(90)度に向ける]ブロックをドラッグします。行先は[緑の旗が押されたら]ブロックのすぐ下です。挿入したいブロックとブロックの間に近づけると自動的にグレーの領域ができます。または[(1)秒でx座標を()に、y座標を()に変える]ブロックをドラッグすると、それに連なる2つもいっしょにドラッグできます。一度3つを下に切り離しておいて、[(90)度に向ける]を[緑の旗が押されたら]に吸着させ、その後で[(1)秒でx座標を()に、y座標を()に変える]をドラッグして
  7. 3つをいっしょに吸着させる方法もあります。


    コードブロックのかたまりは、一番上のブロックのドラッグで全部がドラッグできます。これはかたまりを切り離したいときにも応用できます。
    ここではスプライトリストの[向き]の[左右のみ]ボタンを使いましたが、コードブロックを使って設定することもできます。

スタート位置に戻す

左を向いたDinosaur2をアニメーションさせて最初の位置に戻しましょう。

  1. アニメーションさせるには、[(1)秒でx座標を()に、y座標を()に変える]ブロックを吸着させます。
  2. 上の[x座標を()、y座標を()にする]のxとyの数値をそれぞれコピーして、[(1)秒でx座標を()に、y座標を()に変える]にペーストします。
  3. テキストボックスの文字をコピーするには、マウスカーソルをボックスに重ね、カーソルがIになったときにクリックします。するとボックス全体が反転し文字が変更できるようになります。

  4. 緑の旗の実行ボタンをクリックして確認します。思ったように動作します。

プログラムの実行中、スクリプトは黄色の太線で囲まれ、終了すると消えます。

プロジェクトの保存と再開

プロジェクトを保存する場所は2つあります。1つはスクラッチのサーバー上で、もう1つは自分のPCです。

スクラッチのサーバー

    保存:

  1. [ファイル]->[直ちに保存]を選択します。
    プロジェクトを開く:

  1. 画面上部、右端にある[ユーザー名]の左にあるフォルダアイコンのボタンをクリックします。
  2. [私の作品]の一覧が表示されるので、開きたいプロジェクトの[中を見る]ボタンをクリックします。

自分のPC

    保存:

  1. [ファイル]->[コンピューターに保存する]を選択します。
  2. [名前を付けて保存]ダイアログが表示されるので、ファイル名を入力して[保存]をクリックします。拡張子はsb3です。
    プロジェクトを開く:

  1. [ファイル]->[Load from your computer]を選択します。
  2. [開く]ダイアログ表示されるので、開きたいsb3ファイルを指定して[開く]ボタンをクリックします。

Scratchは、MITメディア・ラボのライフロング・キンダーガーテン・グループの協力により、Scratch財団が進めているプロジェクトです。http://scratch.mit.eduから自由に入手できます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です