カニがネコのx座標の情報を持っていますが、
さて、どっちのネコの情報を持っているのでしょう?
カニの持っている情報は、調べるブロックの”ネコのx座標”です。
自分の情報を他のスプライトに伝える
スプライトの持つ自分のそれぞれの情報(座標やコスチューム名など)
を他のスプライトとどのように共有できるのか?
また、それを他のスプライトにどう伝える事ができるのかについて、一部をご紹介したいと思います。
オリジナルの情報を他のスプライトに伝える
オリジナルのネコのコスチューム名:ハートネコ
クローンのネコのコスチューム名:クローンネコ
次のスクリプトにあるように、
カニにネコのコスチューム名とX座標を言わせるようにしています。
そして、ネコへ行くという命令をしています。
カニが持っている情報は、オリジナルのネコのものですね。
そして、ネコが見えていなくても、見えないネコを追いかけている事がわかります。
クローンを作る時に、オリジナルのスプライトを隠す事が多いよね。
そんな時でも、他のスプライトは隠れたオリジナルスプライトのところに行くことを覚えておいてね
クローンの情報を他のスプライトに伝える
3体のネコのクローンが、それぞれリンゴを投げるようにプログラムしています。
そして、リンゴがネコのクローンの場所に行くようになっています。
どのようにして、クローンのネコのX座標とY座標を
リンゴに伝えたら良いでしょうか?
ネコのスクリプトは次のとおりです。
変数を使って、クローンネコのX座標とY座標を伝えられるようにしています。
リンゴのスクリプトは次のとおりです。
ネコからもらったグローバル変数のXとYをリンゴの座標にしています。
3匹のネコがリンゴのクローンを作る時に、その時の自分の座標情報を伝えています。
グローバル変数は常に一つの情報しか持てないので、情報を伝えるタイミングが一致している事が大事です。
なるほど、それぞれのネコの場所からリンゴがでてきてます
ネコが出てきたり消えたりしてるのは、どうしてですか?
ネコのスクリプトに”隠す”と”表示する”を乱数を条件としていれてるからだね
これまでの説明にもあったように、ネコのスプライトが隠れていてもリンゴを投げているのもわかるかな?