スプライトのコスチュームを変えることで、アニメーションのような動きをさせる事ができたり、出てきて欲しいスプライトをタイミングよく呼び出したり、コスチュームのブロックは楽しい画像を作り出す事ができる便利なブロックです。
そしてスプライトのコスチュームの違いを条件にして、スプライトの動きに変化をもたせたりできるので、是非、使い方を覚えてください。
”見た目”のコスチュームのブロック
基本情報
このブロックの中に入る情報は、コスチューム名かコスチューム番号です。
コスチューム番号は赤い〇の部分で、コスチューム名は青の〇の部分。
コスチュームを1にするとはコスチューム番号のことですから、
ネコにコスチューム番号とコスチューム名を言わせてみると
コスチューム番号は1で、コスチュームの名前は0と言いました。
ここでは、コスチューム名に0を使いたくて番号だけにしましたが、
通常はコスチューム番号と混同しない名前にしてください。
下図の剰余演算子のような数字を使ったブロックと一緒に使う時に、
上手くいかないです。
名前に番号をつける時は、コスチューム番号と同じものをつける。
違う番号をつける必要がある場合は、
neko0 やネコ1などのスプライトの名前と番号を一緒にするのが良いです。
スクリプトは次のとおりです。
基本的な使い方
次のコスチュームにする:スプライトのコスチュームのすべてを順番に表示する
コスチューム○から〇までの乱数にする:コスチューム番号を1から10までランダムに表示する
歩くアニメーションは私も良く使うよ
いろんなスプライトをランダムに出すのは乱数を使うんだっけ?
右側の動物がキツネになった時、クマが左を向いて逃げるような動きにするのはどうしたら良いかわかるかな?
ランダムで出てくる動物のコスチュームがキツネだったら、クマの向きを変えるようにすれば良いんじゃないの?
”調べる”のブロックのコスチューム
色々な動物が出てくるスプライトのコスチュームの違いを、どうやってクマのに伝えたら良いでしょうか?
使えそうなブロックが2つあるけど、上のブロックはクマのスクリプトで使うとクマのコスチューム番号になる
そうだね。 クマのスクリプトで使うなら、下のブロックが使えるね
上のブロックを使う場合は、コスチュームがFoxの時とそれ以外の時のメッセージをクマに送ることで、同じ動きをクマにさせることができるので、ここでの説明が理解できたら上のブロックを使って同じ動きをさせる事が出来るか試してみてください。
このブロックは”調べる”のブロックにあるから、探して次のように中身を変えることができる事を確認してください。
動物(スプライト名=Fox)のコスチューム番号は1で、コスチューム名はFox-aです。
ですから、コスチューム番号=1 とするか、 コスチューム名=Fox-a として条件を指定してくださいね。
”調べる”ブロックの情報の伝え方
伝えられる情報はオリジナルのものだけ
クマが出会う動物がキツネだったらクマが逃げるというように、スプライト(動物)のコスチューム条件で他スプライト(クマ)の動きを変えることができることが解りますね。
それでは、下のようなプログラムでボールがネコに当たった時に、ネコはボールのコスチューム番号を言ってくれるでしょうか?
ボールは自分のコスチューム番号を知ってるから、ネコもわかるんじゃない?
それでは、見てみましょう
あれ、ネコは1番しか答えないぞ
ボールはキチンと自分のコスチューム番号を答えています
でも、ボールが触れた時にボールのコスチューム番号を答えてはくれません
ネコが答えている番号は、ボールのオリジナルのコスチューム番号のようです(オリジナルのコスチューム番号は画面の左上の番号)
結論として、”調べる”のコスチューム番号のブロックは、オリジナルのコスチューム情報を伝えるが、クローンのコスチューム情報は伝えない
このルールが正しければ、ボールのクローンではなくオリジナル自体のコスチュームを変えれば、ネコもボールのコスチューム番号を答える事が出来るはずです。
試しに、やってみましょう。
今度は上からBall2のスプライトでネコにぶつけます
本当だ、今度は答えてくれた
関連する記事
あるスプライトの場所に他のスプライトを出現させるには、自分の座標情報を他のスプライトに伝える必要があります。 オリジナルの座標情報やクローンの座標情報を他のスプライトに伝える例を紹介しています。
クローンのコスチューム情報を伝える
ネコに伝えられるボールのコスチューム情報はオリジナルのボールのコスチューム情報であって、クローンされたボールの情報を伝えてくれませんでした。
クローンのコスチューム情報を他のスプライトに伝える方法は何かないでしょうか?
クローンのコスチューム情報を変数にしたら良いんじゃない?
良いアイディアですね。やってみましょう。
Ball2のオリジナルのコスチューム番号は3のままだけど、変数はBall2のクローンの番号と同じで、ネコもその番号を答えてる
クローンの情報も変数にすることで、他のスプライトに情報を伝えることができることが解ったね