提供: Japanese Scratch-Wiki

< クローンの応用

これはひらがな記事です。元記事に戻る

クローンをかつようすると、たった1つのスプライト で、ふくすうのスプライトをよういしたようなこうかがえられる。かくクローンではこべつにちをもつことができるが、このようなちをほかのスプライトクローンでりようするには、くふうがひつようになる。

クローンでのじょうほうのあつかい

クローンをりようするばあい、それぞれのクローンごとにことなるじょうほう (たとえば、HP (ヒットポイント) や、XざひょうYざひょうなど) をあつかいたいことがある。ここでは、このようなじょうほうをべつのクローンスプライトからよみかきしたいばあい (パブリックなじょうほうとするばあい)と、そうでないばあい (プライベートなじょうほうにするばあい)の2しゅるいにわけて、それぞれのスクリプトのつくりかたとりようほうをしょうかいする。

クローンないのみでりようするじょうほう

そのクローンでしかりようしないじょうほうをあつかうときは、ほかのクローンとじょうほうをきょうゆうするしくみがふようなので、ひかくてきシンプルにじつげんできる。

ローカルへんすうをりようする

クローンでりようする変数をさくせいするときに「このスプライトのみ」をチェックしておくと、この変数はクローンごとにべつのものとしてあつかわれるため、クローンのがいからこのへんすうのちをよみかきすることができない (このようなへんすうをローカルへんすうという)。 これをりようしてクローンごとにことなるIDばんごうをつけておくと、それぞれのクローンにべつのどうさをしていできる。

準備

まず、つぎの変数をよういする:

  • クローンのIDとなる変数 (「このスプライトのみ」をチェック)。したのれいでは「ボタン番号」)

スクリプトれい

まず、つぎの[[スクリプト]をクローンのさくせいげんとなるスプライトにさくせいする。

@greenFlag が押されたとき::events hat
[ボタン番号 v] を [0] にする
(3) 回繰り返す  //  必要なクローン数を指定する
  [ボタン番号 v] を (1) ずつ変える
  [自分自身 v] のクローンを作る
end


次に、こべつのボタンなどでじっこうするスクリプトをさくせいする。

クローンされたとき
もし <(ボタン番号) = [1]> なら // 1つめのクローンで実行する内容
end
もし <(ボタン番号) = [2]> なら // 2つめのクローンで実行する内容
end
もし <(ボタン番号) = [3]> なら // 3つめのクローンで実行する内容。4つめ以降も同様に
end

すべてのクローンでただちにじっこうすべきしょりがあるときは、「もし〜なら」ブロックの前まえについかしてもよいが、もう1つ「クローンされたとき」ブロックをついかして、そこにそれらのないようをきじゅつしたほうがわかりやすいだろう。

クローンをしゅるいごとにわけてしょりする

IDばんごうではなく、クローンのしゅるいごとにどうさをかえることもできる。

じゅんび

このれいでは、つぎの変数をしようする。

  • だんがんのしゅるい:クローンされただんがんが、プレイヤーがはっしゃしたものか、てきがはっしゃしたものかをあらわす変数
  • はっしゃXとはっしゃY:だんがんのはっしゃばしょをあらわす変数
  • たまのむき:たまのむかうほうこうをあらわす変数

スクリプトれい

「スペースキーがおされたとき」にだんがんをはっしゃするばあい、つぎのスクリプトをきじゅつする:

[スペース v] キーが押されたとき //  必要に応じて変更する
[弾の種類 v] を [正義の弾丸] にする
[発射X v] を (x座標) にする
[発射Y v] を (y座標) にする
[弾の向き v] を (向き) にする
[弾丸 v] のクローンを作る //  クローンの元となるスプライトを指定

そして、だんがんスプライトにつぎのスクリプトをついかする。

クローンされたとき
x座標を (発射X) 、y座標を (発射Y) にする
(弾の向き) 度に向ける
もし <(弾の種類) = [正義の弾丸]> なら 
  コスチュームを [正義の弾丸 v] にする
  <<[端 v] に触れた> または <[敵 v] に触れた>> まで繰り返す 
    (10) 歩動かす
  end
end
もし <(弾の種類) = [悪の弾丸]> なら 
  コスチュームを [悪の弾丸 v] にする
  <<[端 v] に触れた> または <[プレイヤー v] に触れた>> まで繰り返す 
    (10) 歩動かす
  end
end

たのスプライトやクローンからじょうほうをよみかきする

つぎに、クローンごとにどくじのじょうほうをもちながら、たのスプライトクローンからそれらのじょうほうをよみかきできるようにする。このためには、じょうほうをリストにかくのうしてクローンのIDによってかんりすればよい

じゅんび

このれいでは、次のような変数リストをしようする。

  • クローンのそうすう:クローンぜんたいのかずをかんりする変数。カウンターとしてしようされる。
  • クローンID:クローンをとくていするためのしきべつじょうほうを入れるローカルへんすう(「このスプライトのみ」をチェック)。
  • Xざひょうリスト、Yざひょうリスト:クローンのじょうほう (プロパティ) をがいぶときょうゆうするためのリスト。このれいでは、かくクローンのざひょうじょうほうをこれらでかんりする。

スクリプトれい

つぎのスクリプトをクローンもとのスプライトについかする。

@greenFlag が押されたとき::events hat
[クローンの総数 v] を [0] にする
[X座標リスト v] のすべてを削除する
[Y座標リスト v] のすべてを削除する 
(10) 回繰り返す  //  作成するクローンの総数に変更する
  [] を [X座標リスト v] に追加する
  [] を [Y座標リスト v] に追加する
  [クローンの総数 v] を (1) ずつ変える
  [自分自身 v] のクローンを作る
end

かくクローンでのそうすうを、つぎのようにしていする。


クローンされたとき
[クローンID v] を (クローンの総数) にする
ずっと 
  [X座標リスト v] の (クローンID) 番目を (x座標) で置き換える
  [Y座標リスト v] の (クローンID) 番目を (x座標) で置き換える
end


ここでせつめいしたほうほうをくみあわせて、クローンのしゅるいごとにしょりをわけながら、さらにじょうほうをべつのスプライトやクローンときょうゆうさせることもかのうである。

おうようれい

ここでしょうかいしたテクニックは、つぎのようなばめんでかつどうできる:

  • 1つのスプライトから、ふくすうのボタンをせいせいする
  • 1つのスプライトから、さまざまなしゅるいの、たいりょうのてきをはっせいさせる
  • ふくざつな (または、たしょうかんりゃくかした) パーティクルこうか
  • 1つのスプライトで、くも、ばくはつなどさまざまなこうかをはっせいさせる
  • タワーディフェンスゲームで、かずおおくのたてものをマップにけんちくする
  • だんがんをあらわすスプライトを1つつくって、じゅうをはっしゃするすべてのキャラクターのだんがんをそこからさくせいする。

かんれんこうもく

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