提供:Japanese Scratch-Wiki
(スタンプから転送)
スタンプ | |
スタンプ
| |
カテゴリ | ペン |
タイプ | スタック |
スタンプブロック(ペン拡張機能/スタックブロック)とは、選択中のスプライトと同じ見た目のビットマップ画像(ラスター画像)をステージに描画(スタンプ)するブロックである。 スタンプによって描画された画像はスプライトではなく、プログラムを指定することはできない。ペンブロックの他のブロックと同様、描画できる対象はステージであり、他のスプライトより手前にスタンプすることはできない。
スタンプする画像のスプライトに画像効果が適用されている場合、スタンプにもその効果が適用される。たとえば、幽霊(透明)の効果によって半透明になっているスプライトをスタンプした場合、その見た目のまま、半透明の画像がステージに転写される(幽霊の効果については、Scratch 2.0でスタンプに適用できるようになった)。
全部消すブロックを使うと、すべてのスプライトによってスタンプされたすべての画像が消される。一方、プロジェクトを停止したときは、スタンプされた画像は残される。
経緯
Scratch 1.4以前では、幽霊の効果が適用されたスプライトをスタンプしても、その効果が反映されず、常に効果の値が「0」(透明度が0)の画像となって転写されていた。その後、Scratch Day 2011で発表された2.0 prealpha版では、この問題に対応するために、透明スタンプブロックというブロックが用意された。しかし、Scratch 2.0の正式リリース時には、通常のスタンプブロックに幽霊の効果が適用されるようになったため、このブロックは廃止された。現在は、すべての画像効果が、スタンプ時に適用される仕様になっている。
スタンプ (基本動作)
スタンプは、選択中のスプライトでスタンプブロックを使用したときに、そのスプライトとまったく同じ位置に、まったく同じ見た目で複写される画像である。スタンプされた画像は移動できない。また、スクリプトを指定することもできない。スタンプは、ペン機能で描かれたスプライトの絵にすぎないからだ。そのため、上から別のスタンプやペン機能で重ね書きすることができるし、消すブロックを使えば、すべて削除できる。
なお、スタンプ画像の貼り付けられる位置は、常に、ステージとすべてのスプライトの間の層である。
使用例
このブロックは、多くのプロジェクトで幅広く使用されており、重要な役割を果たすことも多い。 よくある使用例は次のとおり:
- 1つのスプライトの画像を、ステージに複数表示する
- ステージの一部を、隠す
- 画像に対して効果を付ける
- 1S1Sプロジェクトにおいて、スプライトが複数存在して、乱れ動いているかのような演出をする
- 乱数を使って、さまざまな背景などを描写する
- 描画プロジェクトの一部
よく使われるプロジェクトの種類
@greenFlag が押されたとき::events hat x座標を (56)、y座標を (43) にする スタンプ x座標を (4)、y座標を (123) にする スタンプ x座標を (132)、y座標を (6) にする スタンプ
別のブロックによる表現
- 詳細は「ペンブロックの代用ブロック」を参照
このブロックの動作をシンプルに再現するには、何もしないクローンを作成する方法がある:
[自分自身 v] のクローンを作る
ただし、このようなクローンであってもメモリを消費するので、この方法に頼り過ぎるべきではない。クローンの生成数には300までという制限があるが、スタンプは無限に使用できる。
また、クローンを作成したときは、他のスプライトの「前面」に表示されるが、スタンプは背景を除くレイヤーの一番後ろ(すべてのスプライトの背面)に描画される。このため、スタンプ画像が背景自体に貼り付けられるのを避けたい場合は、上記のクローンによる代用策が役に立つ。