【スクラッチ(Scratch)】クローン機能の使い方|敵や弾をたくさん出す方法

この記事きじでは、スクラッチ(Scratch)のクローンの使つかかた紹介しょうかいします。

クローンは、スプライトをコピーすることができる機能きのう

たとえば、シューティングゲームでたま連続れんぞくしてちたいときに、おなじスプライトをたくさんつくるのは大変たいへんですね。

でも、クローンを使つかえば ブロックひとつで スプライトを かんたんにコピーできるので便利べんりです。

クローンの機能きのうかりやすい、かんたんなプログラムれいにあげながら紹介しょうかいします。

スクラッチがはじめてのひとは、した記事きじからごらんください。

スポンサーリンク

クローンとはスプライトをコピーすること

クローンのイメージ

クローンとは、プログラムを使つかってスプライトをコピーすることです。
また、コピーされたスプライトのこともクローンとびます。

クローンは オリジナルのスプライトの状態じょうたい座標ざひょう表示ひょうじ表示ひょうじなど)をきつぎながら べつのモノとして存在そんざいします。

プログラムもきつがれます。

「クローン」と「スタンプ」のちがい
ペン拡張かくちょう機能きのうにあるスタンプは、選択せんたくちゅうのスプライトとおな画像がぞうをステージにはりける機能きのうです。
一見いっけんクローンとていますが、はりけられた画像がぞうはスプライトではないので、プログラムでうごきをつけることができません。

 

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

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

クローンにかんするブロックは3種類しゅるい制御せいぎょのカテゴリにあります。

  • 自分じぶん自身じしん▼のクローンをつく
  • クローンされたとき
  • このクローンを削除さくじょする

 

自分自身▼のクローンを作る

自分じぶん自身じしん▼のクローンをつくる」は、指定していしたスプライトのクローンを作成さくせいするブロックです。

自分じぶん自身じしんほかに、べつのスプライトのクローンをつくることもできます。

同時どうじ存在そんざいできるクローンのかずはプロジェクト全体ぜんたいで300まで。
300をこえた場合ばあい、クローンは作成さくせいされません。

 

クローンされたとき

クローンが作成さくせいされると、「クローンされたとき」したみこまれた命令めいれい実行じっこうされます。

 

このクローンを削除する

クローンを消すブロックです。

また、プログラムを停止ていしするとすべてのクローンが消えます。

ひとつずつ削除さくじょする場合は「このクローンを削除さくじょする」ブロックを使いましょう。

プログラムを停止ていしする方法ほうほうは下のとおりです。

  • 緑のハタ
  • 停止ていしボタン
  • 「すべてを止める」ブロック(制御せいぎょカテゴリ)

 

クローンを使った かんたんなプログラム

クローンを使ったプログラム

クローンのブロックを使つかったプログラムをつくってみました。

変数へんすういろ効果こうか使つかってクローンのネコのいろえています。

  • みどりのハタをおされたとき、ネコのクローンを3つつく
  • ハートのスプライトがおされたとき、ネコのクローンをつく
  • クローンされたとき、いろえてどこかの場所ばしょへいく
  • ネコのクローンがおされたとき、そのクローンを削除さくじょする

 

クローンとイベントブロック

みどりのハタをおすと それまでにつくられたクローンはすべてえます。

なので、クローンは スプライトのみどりのハタがされたとき」以外いがいのイベントブロックをきっかけにうごきます。

クローンとイベントブロック

このプログラムのうご

みどりのハタをおすと、クローンが1つつくられます。

もう一度いちど みどりのハタをおしても、クローンは4つにはなりません。

一度いちどすべてのクローンがえてから、もう一度いちど1つだけつくられるからです。

ボタンをおしてメッセージをおくると、オリジナルのネコとクローンの両方りょうほうが「メッセージをったとき」の命令めいれい実行じっこうします。

 

オリジナルとクローンの動きを分ける

オリジナルとクローンのうごきをけたい場合ばあいローカル変数へんすう使つかって区別くべつさせる方法ほうほうがあります。

まず、ローカル変数へんすうとはなに説明せつめいします。

変数は3つの種類がある

変数を追加する画面

スクラッチの変数へんすうには3つのタイプがあり、変数へんすうつくときにタイプをえらべます。

  • グローバル変数へんすう:すべてのスプライトで使つかえる
  • ローカル変数へんすう :このスプライトだけで使つかえる
  • クラウド変数へんすう 世界せかいじゅう共有きょうゆうできる

ふだん みなさんが使つかっているのは、グローバル変数へんすう(すべてのスプライトよう)ではないでしょうか。

今回こんかいは、グローバル変数へんすうとローカル変数へんすうのちがいを説明せつめいします。

クラウド変数へんすうについては「【スクラッチ(Scratch)】Scratcherになってクラウド変数へんすう使つかってみよう!」でくわしく解説かいせつしています。興味きょうみがあったらんでみてください。

そもそも変数へんすうってなに?というひとは、した記事きじからんでみてくださいね。

 

グローバル変数とローカル変数のちがい

グローバル変数へんすうとローカル変数へんすう、それぞれのイメージはした画像がぞうのようなかんじです。

グローバル変数とローカル変数のちがい

ではプログラムをながら、ちがいをみていきましょう。

 

すべてのスプライト用(グローバル変数)

グローバル変数へんすうは、ステージとすべてのスプライトが使つかえる変数へんすうです。

グローバル変数を使ったプログラム

画像がぞうのプログラムにある変数へんすういろ効果こうかはグローバル変数へんすうです。

クローンが作成さくせいされたときに40ずつされ、アヒルのスプライトがおされたときいろ効果こうかあたい表示ひょうじします。

みどりのハタをおして クローンを3つつくったあと、アヒルをおしていろ効果こうか表示ひょうじさせたら、すべてのクローンで120が表示ひょうじされました。

これは、すべてのスプライトがおな変数へんすういろ効果こうかているからです。

 

このスプライトのみ(ローカル変数)

ローカル変数へんすうは、このスプライトだけ使つかえる変数へんすうです。

クローンをつくったとき オリジナルのローカル変数へんすうあたいが引きつがれますが、
そのあとクローンのローカル変数へんすうえても オリジナルのローカル変数へんすうわることはありません。

ローカル変数を使ったプログラム

画像がぞうのプログラムにある変数へんすう数字すうじはローカル変数へんすうです。

クローンが作成さくせいされたときに200~300までのランダムな数字すうじ設定せっていして、アヒルのスプライトがおされたとき数字すうじあたい表示ひょうじします。

みどりのハタをおしてクローンを3つつくったあと、アヒルをおして数字すうじ表示ひょうじさせたらバラバラな数字すうじ表示ひょうじされました。

これは、それぞれのスプライトでっている固有こゆう変数へんすう数字すうじているからです。

 

ローカル変数を使ってオリジナルとクローンを区別する

ローカル変数へんすう使つかって、オリジナルとクローンを区別くべつするプログラムです。

オリジナルとクローンの動きを分ける

みどりのハタがおされたとき」は、一度いちどすべてのクローンが削除さくじょされるためオリジナルのスプライトのみ実行じっこうされます。

また、「クローンされたとき」はクローンのみが実行じっこうされます。

この特性とくせい利用りようして、ローカル変数へんすう(スプライト)に区別くべつがつくような文字列もじれつ数字すうじ(オリジナル、クローン)をれておいて、ローカル変数へんすうあたいによってオリジナルとクローンの処理しょりけるようにしています。

 

クローンを使って雪の結晶を降らせてみた

クローン機能きのう使つかってゆきらせるプログラムをつくってみました。

 

プログラムはした画像がぞうのとおりです。

雪の結晶を降らせるプログラム

オリジナルのスプライトはクローンをつくるだけでうごかないので、かくす」ブロックでえなくしました。

作成さくせいしたクローンは「クローンされたとき」表示ひょうじする」ブロックでえるようにしています。

かくす」ブロックと表示ひょうじする」ブロックは、カテゴリにあります。

 

まとめ

クローンとは、プログラムを使つかってスプライトをコピーすることです。

また、コピーされたスプライトのこともクローンとびます。

クローンを自由じゆう使つかいこなせるようになるには大変たいへんそうだとかんじるかもしれません。

まずは、ネットやほんなどにのっているスクラッチのゲームをマネしてつくってみて、どんなふうにプログラムがうごくのかトレース命令めいれい順番じゅんばんにたどって状態じょうたい確認かくにんすること)してみるといいとおもいます。

 

タイトルとURLをコピーしました