コスチュームブロックの画像

スプライトのコスチュームを変えることで、アニメーションのような動きをさせる事ができたり、出てきて欲しいスプライトをタイミングよく呼び出したり、コスチュームのブロックは楽しい画像を作り出す事ができる便利なブロックです。

そしてスプライトのコスチュームの違いを条件にして、スプライトの動きに変化をもたせたりできるので、是非、使い方を覚えてください。

”見た目”のコスチュームのブロック

基本情報

このブロックの中に入る情報は、コスチューム名コスチューム番号です。

コスチュームのブロック画像

コスチューム番号は赤い〇の部分で、コスチューム名は青の〇の部分。

コスチューム番号と名前の画像

 

ネコに自分のコスチューム番号と名前を言わせるプログラム

コスチュームを1にするとはコスチューム番号のことですから、
ネコにコスチューム番号とコスチューム名を言わせてみると
コスチューム番号は1で、コスチュームの名前は0と言いました。

コスチューム番号と名前を言うネコの画像

 

 

 

 

ここでは、コスチューム名に0を使いたくて番号だけにしましたが、
通常はコスチューム番号と混同しない名前にしてください。

下図の剰余演算子のような数字を使ったブロックと一緒に使う時に、
上手くいかないです。
コスチューム名のつけ方のNG画像

名前に番号をつける時は、コスチューム番号と同じものをつける。
違う番号をつける必要がある場合は、
neko0 やネコ1などのスプライトの名前と番号を一緒にするのが良いです。

コスチューム番号と名前を言うネコ1の画像

スクリプトは次のとおりです。

コスチューム番号と名前を言うネコ1のスクリプト画像

基本的な使い方

基本的なコスチュームブロックの使い方

次のコスチュームにする:スプライトのコスチュームのすべてを順番に表示する

コスチューム○から〇までの乱数にする:コスチューム番号を1から10までランダムに表示する

 

いろんな動物コスチュームのGIF

生徒さんB生徒さんB

歩くアニメーションは私も良く使うよ

生徒さんA生徒さんA

いろんなスプライトをランダムに出すのは乱数を使うんだっけ?

クマのアニメーションを作るコスチューム
動物をランダムに出すコスチューム
そら先生そら先生

右側の動物がキツネになった時、クマが左を向いて逃げるような動きにするのはどうしたら良いかわかるかな?

クマが逃げるGIF

生徒さんA生徒さんA

ランダムで出てくる動物のコスチュームがキツネだったら、クマの向きを変えるようにすれば良いんじゃないの?

”調べる”のブロックのコスチューム

色々な動物が出てくるスプライトのコスチュームの違いを、どうやってクマのに伝えたら良いでしょうか?

生徒さんA生徒さんA

使えそうなブロックが2つあるけど、上のブロックはクマのスクリプトで使うとクマのコスチューム番号になる

コスチュームのブロック画像

調べるのブロック

そら先生そら先生

そうだね。 クマのスクリプトで使うなら、下のブロックが使えるね

上のブロックを使う場合は、コスチュームがFoxの時とそれ以外の時のメッセージをクマに送ることで、同じ動きをクマにさせることができるので、ここでの説明が理解できたら上のブロックを使って同じ動きをさせる事が出来るか試してみてください。

コスチュームの条件ブロック

このブロックは”調べる”のブロックにあるから、探して次のように中身を変えることができる事を確認してください。

調べるブロックの変更画像

動物(スプライト名=Fox)のコスチューム番号は1で、コスチューム名はFox-aです。

Foxのコスチューム画像

ですから、コスチューム番号=1 とするか、 コスチューム名=Fox-a として条件を指定してくださいね。

コスチュームを指定するブロック画像

 

”調べる”ブロックの情報の伝え方

伝えられる情報はオリジナルのものだけ

クマが出会う動物がキツネだったらクマが逃げるというように、スプライト(動物)のコスチューム条件で他スプライト(クマ)の動きを変えることができることが解りますね。

それでは、下のようなプログラムでボールがネコに当たった時に、ネコはボールのコスチューム番号を言ってくれるでしょうか?

ネコがボールのコスチューム番号を答えるプログラム画像

ボールのスクリプト画像
生徒さんB生徒さんB

ボールは自分のコスチューム番号を知ってるから、ネコもわかるんじゃない?

そら先生そら先生

それでは、見てみましょう

ネコがボールのコスチューム名を言えない画像

生徒さんA生徒さんA

あれ、ネコは1番しか答えないぞ

ネコがボールのコスチューム番号を言えない理由

ボールはキチンと自分のコスチューム番号を答えています

でも、ボールが触れた時にボールのコスチューム番号を答えてはくれません

ネコが答えている番号は、ボールのオリジナルのコスチューム番号のようです(オリジナルのコスチューム番号は画面の左上の番号)

結論として、”調べる”のコスチューム番号のブロックはオリジナルのコスチューム情報を伝えるが、クローンのコスチューム情報は伝えない

このルールが正しければ、ボールのクローンではなくオリジナル自体のコスチュームを変えれば、ネコもボールのコスチューム番号を答える事が出来るはずです。

試しに、やってみましょう。
今度は上からBall2のスプライトでネコにぶつけます

ネコがボールのコスチューム名を答える画像

ボール2のスクリプト画像

生徒さんB生徒さんB

本当だ、今度は答えてくれた

関連する記事

クローンのコスチューム情報を伝える

ネコに伝えられるボールのコスチューム情報はオリジナルのボールのコスチューム情報であって、クローンされたボールの情報を伝えてくれませんでした。
クローンのコスチューム情報を他のスプライトに伝える方法は何かないでしょうか?

生徒さんB生徒さんB

クローンのコスチューム情報を変数にしたら良いんじゃない?

そら先生そら先生

良いアイディアですね。やってみましょう。

コスチューム情報を変数で伝える画像

生徒さんA生徒さんA

Ball2のオリジナルのコスチューム番号は3のままだけど、変数はBall2のクローンの番号と同じで、ネコもその番号を答えてる

そら先生そら先生

クローンの情報も変数にすることで、他のスプライトに情報を伝えることができることが解ったね

コスチューム情報を変数にするスクリプト
コスチューム情報を変数で受けるスクリプト画像