へっぽこ日記

Unity関係のつぶやきまとめ。マイコンとかもいじります。

Unityのボタンを自作してみる

はじめに

今回はUnityのボタンを自作してみる記事です。

Unityに標準機能としてあるボタンでは実現できない表現が多いので、自作してみることにしました。

 

サンプルプロジェクト

github.com

 

 

実装したいイベントについて

EventSystemsのInterfaceを実装すれば、ホバー機能などは簡単に実装できます。また、EventSystemsがゲームオブジェクトとして存在しないと、機能しないので注意が必要です。

IPointerClickHandler - OnPointerClick - あるオブジェクト上でポインターを押下し、同一のオブジェクト上で離した際に呼び出されます

 

IPointerDownHandler - OnPointerDown - ポインターがオブジェクトを押下したときに呼び出されます

 

IPointerUpHandler - OnPointerUp - ポインターを離したときに呼び出されます(ポインターが押下されているオブジェクト上で呼び出されます)

docs.unity3d.com

実装するとこんな感じに...

 

やりたいことを追加していく

ボタンが押されたか、ホバーされたか、離されたの検知はできました。後は、押された際に画像を差し替えるなどの機能を追加していきます。

  

 

追加した機能は、画像の差し替えと関数を登録できるようにしたり、インスペクタからコンポーネントとして追加できるようにしました。

おわりに

要件によって必要な機能は違うので、簡単にカスタマイズできるのはありがたいですね。次の記事ではUniRxを使ってより機能を拡張 したいと思います。

 

是非、読者登録をしていただくと助かります!