提供: 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つつくって、じゅうをはっしゃするすべてのキャラクターのだんがんをそこからさくせいする。