kazumalab tech log

流行りとリラックマと嵐が大好きです。技術的ログ。

Unity UI Button OnClickについて

Kazuma.です。


Unityで便利な機能のUIですがまだまだ使われていない部分もあるので今回はそれについて書きます。

OnClickとは

ボタンを押した時の処理を追加できるもの。
簡単な使い方としては前回の記事に書いてあります。
blog.kazumalab.com

今回は簡単な方法から一歩踏み込んでスクリプトから制御したいと思います。

OnClickには2種類ある

  • 永続性

OnClickにそのまま処理を追加するのが永続性と言います。
f:id:kazumalab:20160528041837g:plain

  • 非永続性

スクリプトを通じてOnClickに処理を追加することを言います。
これによりボタンの処理を変更することができます。

スクリプトを書いてみる

今回書くコードはボタンを押す度に再生、一時停止を切り替える処理するスクリプトを書いてみます。

f:id:kazumalab:20160601221229g:plain
こんな感じになれば成功

今回のコードはこんな感じです。2つの処理を押す度にAddListenerで関数を入れてあげるというものです。

注意点

ButtonのOnClickの部分には永続性のものは入れずにそのままの状態で行っています。

RemoveAllListeners();は非永続性のものを対象に処理されているので永続性の処理を追加している場合は使えないのでご注意ください。

ButtonManagerなど適当にスクリプトを追加する空のオブジェクトをおいてそこにアタッチして、その後publicになっている部分をInspectorで当てはめています。

最後に

何に使うのか・・・と思いますが、そのうち使うことになるかもしれないので書き留めておくことにしました。

ちなみにCounterを使って処理を切り替えるのもありですが、僕的にはこっちの方が遷移がわかりやすいかな、という風に思います。