Scratchのステージとスプライトの概要を説明します。
Scratchは、絵を動かしたり、絵に話をさせたり、絵から音を出したりなど、絵を中心にプログラムを作ります。
ステージとスプライトはどちらもオブジェクトと呼ばれるものの1つで、オブジェクトは絵そのもののデータとその絵を動かしたり変化させたりするサブルーチンを合わせ持つものです。
1.オブジェクトとは
2.ステージ
2.1.ステージの要素1:背景
2.2.ステージの要素2:スクリプト
2.3.ステージの要素3:音
3.スプライト
3.1.スプライトの要素1:コスチューム
3.2.スプライトの要素2:スクリプト
3.3.スプライトの要素3:音
4.まとめ:スプライト vs ステージ
Scratchのプログラミングは、いくつかのオブジェクトを作ることです。
1つのオブジェクトに対して、1つ以上複数の絵と0個以上複数のサブルーチンを用意することができ、各サブルーチンは特定のきっかけで動き出すように作ります。
1.オブジェクトとは
プログラミング言語Scratchでは、オブジェクトごとにプログラミングします。
Scratchでオブジェクトに分類されるのは、ステージとスプライトです。
2.ステージ
下図は、Scratchのエディター(オンラインエディター)の画面です。
Scratchのステージは、プログラミングの結果を映し出す、四角い領域です。
Scratch3.0のステージは、エディター画面右上の四角い領域です。
ステージの要素は、大きく分けて3つあります。
・ステージの要素1:背景
・ステージの要素2:スクリプト
・ステージの要素3:音
2.1.ステージの要素1:背景
ステージの1つめの要素は、背景と呼ばれる、ステージ全体を覆う絵の要素です。
Scratchでは1つのプログラムに必ず1つだけステージを持ち、また、ステージは1つ以上の背景が必要で、ある時点でステージに表示されている背景は用意した1つ以上の背景の中からそのとき選択されている1つだけです。
ちなみに、新規作成時に用意されている背景は1つだけで、見た目が真っ白な絵です。
(実際にはデフォルトで用意されている背景は、透明の非常に小さなサイズ2✕2の四角形の絵であり、ステージの中心にその四角形が表示されています。
なお、背景の透明な部分は、ステージを見たとき、白に見えます。
日本語Wikiのステージの説明ページの「背景の透明色は白色に変わる」より。)
2.2.ステージの要素2:スクリプト
ステージの2つめの要素は、スクリプトと呼ばれる、1つ以上複数の命令の固まりからなるものです。
Scratchの1つ1つの命令は、ブロックと呼ばれます。
スクリプトは、一般のプログラミング言語における、サブルーチンやルーチン、プロシジャー、関数などと呼ばれるものと同じものです。
ステージのスクリプトは、ステージを制御するためだけのもので、ステージ以外のオブジェクト、すなわち、どのスプライトの制御も記述することはできません。
言い換えると、ステージのスクリプトで直接スプライトを制御するプログラムは書けません(メッセージと言う機能を使って、間接的に制御する方法はあります)。
Scratchでは、ステージはデフォルトのスクリプトを持ちません。
下図は、デフォルトのステージのスクリプトエリア(スクリプトを作る領域)の図で、1つもスクリプトがないことが分かります。
また、Scratchのステージには、スクリプトが0個でも、1個でも、複数あっても構いません。
スクリプトを作るには、スクリプトエリアの左横にあるブロックパレットから個々の命令であるブロックを選択し、スクリプトエリアにドラッグアンドドロップして行います。
下図は、ステージのスクリプトエリアの図で、スクリプトを2つ作った例です。
2.3.ステージの要素3:音
ステージの3つめの要素は、音です。
ステージは音を0個以上持つことができます。
ステージには、「ポップ」(または、「pop」)という名の「ポッ」という音1つがデフォルトで用意されています。
下図は、ステージのデフォルトのサウンドペイン(音の要素を編集する場)の図で、「ポップ」1つがあることが分かります。
3.スプライト
スプライトとは、ステージの中で、動いたり、向きを変えたり、色や形を変えたりできる絵のことです。
生成したスプライトは、エディターのステージの下の部分にあるスプライトリストと呼ばれる領域に、サムネイルで表示されてリストアップされます。
ちなみに、Scratch の新規作成時に用意されているスプライトは、ねこのスプライトです。
このねこのスプライト(Scratchキャットといいます)は、これから作るプログラムの中で、そのまま利用してもいいし、削除しても構いません。
下図は、ねこのスプライトの他に犬のスプライトとバナナのスプライトをプログラムに、追加した例です。
スプライトの要素は、大きく分けて3つあります。
・スプライトの要素1:コスチューム
・スプライトの要素2:スクリプト
・スプライトの要素3:音
3.1.スプライトの要素1:コスチューム
スプライトの1つめの要素は、コスチュームと呼ばれる、スプライトを表す絵の要素です。
1つのプログラムは、スプライトを0個以上複数持つことができます。
1つのスプライトは1つ以上のコスチュームが必要で、ある時点でスプライトの絵柄として表示されているコスチュームは用意した1つ以上のコスチュームの中からそのとき選択されている1つだけです。
ちなみに、ねこのスプライトは、新規作成時にコスチュームを2つ持っています。
3.2.スプライトの要素2:スクリプト
スプライトの2つめの要素は、スクリプトです。
スプライトにおけるスクリプトの役割は、ステージにおけるスクリプトの役割と同じです。
あるスプライトのスクリプトは、そのスプライトを制御するためだけのもので、そのスプライト以外のスプライトやステージの制御を記述することはできません。
言い換えると、あるスプライトのスクリプトで直接他のスプライトやステージを制御するプログラムは書けません(メッセージと言う機能を使って、間接的に制御する方法はあります)。
なお、スプライトが使えるブロックの集合と、ステージが使えるブロックの集合には、若干の違いがあります。
Scratchでは、スプライトはデフォルトのスクリプトを持ちません。
また、Scratchのプログラムの各スプライトは、スクリプトが0個でも、1個でも、複数あっても構いません。
下図は、ねこのスプライトのスクリプトエリアの図で、スクリプトを3つ作った例です。
3.3.スプライトの要素3:音
スプライトの3つめの要素は、音です。
1つ1つのスプライトも、音を0個以上持つことができます。
ねこのスプライトには、「ニャー」または「Meow」という名のねこの鳴き声の音1つがデフォルトで用意されています。
4.まとめ:スプライト vs ステージ
スプライトとステージはそれぞれが他方と同じか似た要素を持っていて、必然的にそれらのコンセプトや操作は似ています。
似た部分について、一方で覚えた知識は他方でもほぼそのまま使えることがほとんどなので、このことを知っていれば、学習を効率よく進めることができます。
また、異なる部分について、一方で覚えた知識とは異なることが予想できるので、このことを知っていれば、学習時の集中度をそれぞれで保つことができます。
スプライトとステージの比較表は、以下の通りです。
コメント