Scratchで個別のスプライトにメッセージを送る
一行まとめ:
「スプライトにそれぞれ異なるIDを持たせる→それぞれのスプライトにメッセージを送って個別に値を設定→すべてのスプライトに値を送ってそれぞれのスプライトが自分の値を元に条件判断して反応」で二進法表示ができた
https://gyazo.com/a914f4edcdbf6b6f59488eb562ede450
作ってる過程のTweet
Scratchにはクラスはないが、スプライトという形でインスタンスがあり、それをクローンすることができる。
クローンされた時に呼ばれるイベントハンドラがあるからコンストラクタの引数に相当するものはここでグローバルから読めば良い。
スプライトはファーストクラスのオブジェクトではないが、グローバル変数を使って一意なIDを作れば特定のインスタンスを指し示すことはできる。
メッセージはブロードキャストだが、グローバルに宛先変数を置いといて、自分のIDに一致するスプライトだけが反応すれば宛先指定メッセージと同じことができる。
(ランプが一つしか点灯しないのを見て勘違い)メッセージ、一つが受け取って処理したら他のには伝わらないのかな…てっきり全部に伝わると思ったのだが…
あ、違うな、これ割り算が整除じゃないからroundが必要なんだな
floorか
できた
https://gyazo.com/8d2dac85692149dbf2ba5a8ba1b6c918
https://gyazo.com/c735a5e3c31b692e97de6a5eb1d264ae
https://gyazo.com/a914f4edcdbf6b6f59488eb562ede450