【Unity】UIをキーボードから操作するサンプル
UnityUIのボタンやらをキーボードで操作するサンプルプロジェクト。動画の前半はマウスで、後半はキーボードで操作している。https://t.co/QBPndoJgu8#gamedev pic.twitter.com/xIu8ziI8dS
— enu@C97火南モ06b (@_enu) 2019年12月1日
なんかの拍子に「マウスとキーボード両対応したい」みたいになった時にウチはこんなのを組んでますというやつ。
別にそんなん要らん…という場合でも、「右クリックを閉じるボタンに割り当てる」というのも仕組みとしては同じなので、組んでおくとわりと操作性がよくなったりします。
大まかな仕組みとしては、たとえばEnterキーが押されたらUI表示を上から順に探し、キーがバインドされてるボタンが見つかったらInvoke
するという感じ(ざっくり)。実際はさらに方向キーによるカーソル移動やらUIのリンク処理やらメンドクサイあれこれを書いてやる必要がある。
CursorControllerUtil.cs
あたりの書き殴り感がひどいのでアレですが、あの辺こそが秘伝ソース的奥儀的だったりするわけだ。(そのうち綺麗に書けるようになったりしろ)
というか、なんか似たようなことをしてくれる既存アセットはないんすか。
何かと思ったらslackの通知音が入っとる
— enu@C97火南モ06b (@_enu) 2019年12月1日