week07:とぐるをぐぐる

皆さんお家でとぐろ巻いてますか。どうも案山子です。

引きこもりの才能があるのでホームにステイするのは得意ですが、さすがに足腰が弱わるので長めの散歩に出るようになりました。知らないスーパーで買い物をするのも楽しいです。どこに何があるのかわからんけど。

メニューにそれぞれのボディを表示させる機能をつけます。
メニューごとに別のシーンに移動することも考えたけど、今回はメニューの項目数も少ないので同じシーンの中で展開したい。あるいは展開しているように見せたい。
と言う訳でボタンではなくトグルにしてみた。トグルにしておけばグループ内で複数が同時にOnにはならない。全部Offには出来る。

ところでButtonコンポーネントの場合はOnClickで他のオブジェクトをアニメーションさせることが出来たんですが、Toggleコンポーネントの場合はOnValueChanged(boolean)なのでTrueかFalseかです。たぶん。知らんけど。ブーリアンです。誰だブーリアン。知らん。
これをどうやってステートの遷移と絡めればいいのかがさっぱりわからん。
遷移パラメータにもBoolがあるのでこいつか???と思ったけどわからん。なんか違う気もするし。思うように動かない。ぐぐったけどもわからん。

ぐだぐだ眺めてるうちにトグルでCanvasのEnabledが切り替えられることがわかったのでとりあえずボディをそれぞれCanvas別にしてやってみた。

ToggleGroupの設定でグループ内全部Off(SwitchOff)を許可したのでメニューを閉じる際に全てのボディ(Canvas)のEnabledとアイコンのIsOnをFalseにするのも入れてみた。
これやっとかないと最後にTrueになってたやつが、2回目にメニュー開いた時にそのまま出てきてしまうからです。

画像1

これは実務だったらエンジニアさんに全部殺す呪文ください!!!てお願いしたいやつ。うっかり触り間違う可能性考えると結構怖い。
あとCanvasだから一発でEnabled切替できるけど、Canvasではないオブジェクトでボディを組んでる場合は親から子を辿って殺して行かないといかんのでは???
※親のActiveが子に作用するので大丈夫でした。親の因果は子に祟る。と覚えましょう。

でもやろうと思えばスクリプトなしでも出来るんだなーそうかー。

うーん、やりたいことは概ね出来てるけども、ぱかぱかするのがいやだ。
せめて10Fでいいからアニメーションさせたい。

AnimatorControllerのリファレンスを眺めてたらPlayでステートを再生できるような記述があるので来週はそれをやってみる。ステート名で指定できるかどうか。
もうひとつ案としてはボディを開くところから別シーンにしてしまえばシーンが切り替わったところから最初のステートが自動で再生されるのではないか。トグルのように見せかける方法。
どちらにしてもFalseになった時はぱかって消える予想。

どうでもいいけどTrueがFalseが言ってるとそのうちTRUMPが出て来ます。そうかTrue of Vampはトグルだったのか。


この記事が気に入ったらサポートをしてみませんか?