提供: Japanese Scratch-Wiki

このきじは ひらがなのページがあります。ひらがなでよむ
クローンを実際に実行した時の画像。元の画像とは異なっているが、実際には見た目から変えないと変わらない。

クローンとは、動的に(=スクリプトを用いて)スプライトを複製すること、また複製されたスプライトをいう。Scratch 2.0で導入された。

たとえば、弾を連続して打ちたいときに、スプライトをたくさん用意するのは大変だが、クローンではブロックによりスプライトが複製できる。クローンは、停止ボタンや「すべてを止める」により一括削除できるほか、このクローンを削除するでひとつずつ削除できる。スタンプは、レイヤーが固定され、かつスクリプトを持つことができない。

同時に存在できるクローンの数には制限があり、プロジェクト全体で、Scratch 2.0で301個、Scratch 3.0で300個で、これを超えた場合にクローンは作成されない。

クローンに関するブロック

Scratch 2.0では、クローンに関して次の3個のブロックが導入された。すべて制御カテゴリに含まれる。

() のクローンを作る

詳細は「() のクローンを作る (ブロック)」を参照
[自分自身 v] のクローンを作る

このブロックは、指定したスプライトをクローン(複製)する。Scratch Day 2011プレアルファバージョンでは、スプライトを選択するためのドロップダウンリストは存在せず、自分自身のみクローンが作成できた。

create clone ::control

他のクローンを再帰的にクローン化することも可能だが、クローンの制限に注意が必要。

クローンされたとき

詳細は「クローンされたとき (ブロック)」を参照
クローンされたとき

このハットブロックは、クローンが作成されるとアクティブになる。以前作成したクローンや親スプライトではなく、新しく作成したクローンでのみ実行される。

このクローンを削除する

詳細は「このクローンを削除する (ブロック)」を参照
このクローンを削除する

このキャップブロックは、実行されたクローンを削除する。

クローンで実行されるスクリプト

詳細は「クローンとトリガースプライトを分離する」を参照

クローンは、スプライトのすべてのイベントブロック(ただし、緑の旗が押されたときを除く。これは、旗が押されたときにクローンがリセットされるから。)に反応する。つまり、メッセージを送った場合、すべてのクローンが受け取る。そうしたくない場合は、クローンとトリガースプライトを分離する必要がある。

クローン中で「スプライトの他のスクリプトを止める」を実行した場合、同一クローン上で実行している他のスクリプトが止まる。(親に影響を及ぼさない)

クローンの属性

詳細は「クローン情報へのアクセス」を参照
詳細は「クローンの応用」を参照

スプライトがx座標などの属性を持つように、クローンそれぞれも属性を持つ。

  • クローンされたとき、クローンを作るときに使った「クローンを作る」ブロックが
    • 別スプライトにあるとき: クローンされたスプライトの親
    • 同一スプライトにあるとき: 親
    • クローンにあるとき: そのクローン の属性を継承する。
  • クローンの属性の変更は、他のクローンやスプライトに影響を及ぼさない。(逆も)
    • クローンの情報にアクセスするには、すべてのスプライトで利用できるリストが必要である。