提供:Japanese Scratch-Wiki

このきじは ひらがなでよめません。ごめんなさい。編集者向け:作成する

特定のクローンの情報 (プロパティ) を外部から取得したい場合は、リストとローカル変数を利用する。ローカル変数 (「このスプライトのみ」をチェックして作成した変数) の値は、そのクローン以外のスプライトやクローンから見ることができない。そのため、このような外部からクローンのもつ値を知るには、クローン側で情報をリストに格納して、外部に対し情報を公開する必要がある。

この例では、次の内容を前提としている:

  • (クローンの総数) — 作成済みのクローンの数を記録するグローバル変数 (「すべてのスプライト用」をチェックした変数)
  • (クローンID) — クローンの作成順につけるクローンのID情報。ローカル変数 (「このスプライトのみ」をチェックした変数)。
  • (各クローンのデータ::list) — クローンごとに異なる値を管理するためのリスト
  • スプライト1 — クローンの作成元となるスプライト

次のスクリプトは、スプライト1に記述する。

@greenFlag が押されたとき
[各クローンのデータ v] のすべてを削除する
[クローンの総数 v]を(0)にする

このスプライト1のクローンを作成するために、次のスクリプトをスプライト1に追加する。

[] を [各クローンのデータ v]に追加する
[クローンの総数 v]を(1)ずつ変える
(自分自身 v) のクローンを作る

クローンに持たせるデータが文字列や数値であれば、次のスクリプトをスプライト1に追加する。

クローンされたとき
[クローンID v]を(クローンの総数)にする
ずっと 
[各クローンのデータ v]の(クローンID)番目を (...::grey) で置き換える
end

これによって、([各クローンのデータ v]の(クローンID)番目) で、「クローンID」で指定したクローンの値が取得できるようになる。

クローンに持たせる値が真偽値 (trueまたはfalse) であれば、次のスクリプトをスプライト1に追加する。

クローンされたとき
[クローンID v] を (クローンの総数) にする
ずっと 
[各クローンのデータ v]の(クローンID)番目を<...::grey> で置き換える
end

これによって、<([各クローンのデータ v] の(クローンID)番目) = [true]>で、「クローンID」で指定したクローンの真偽値が取得できるようになる。

関連項目

Cookieは私達のサービスを提供するのに役立ちます。このサービスを使用することにより、お客様はCookieの使用に同意するものとします。