ユーザー通知の方法で下からメッセージが湧き出るトースト機能というのがある。
Windows用のトースト機能は公式に用意されているみたいだけど、Androidでよくあるトースト機能はなかった。
ないなら仕方ないので作ってみる。
作り方
UnityでToast機能を作るならImageとTextがあれば次の手順で簡単に作れそう。
1.まずCanvasを作成する
2.その下にImageを作成する
3.さらに下にTextを作成する
4.それぞれのプロパティを設定する
5.動かす(浮かして消す)
こんな考え方で作ってみた。
設定は全部使う側から直接指定できるようにしといた。
使用例
そのまま使う
1 |
ToastUtil.Toast(this,"...TOAST..."); |
真四角のトーストっていかにも手抜き感がある。
まぁ何かを伝える目的は達している。
画像とフォントを指定して使う
1 2 3 |
ToastUtil.textFont = Resources.Load("font/Makinas",typeof(Font)) as Font; ToastUtil.imgSprite = Resources.Load("image/toast",typeof(Sprite)) as Sprite; ToastUtil.Toast(this,"...TOAST..."); |
こうすると多少はそれっぽい気がする。
けどなんとなく滑らかさが足りない気もする。
移動する方向を変える
1 2 3 4 5 |
ToastUtil.startPos = new Vector2( 700,0); ToastUtil.endPos = new Vector2(-700,0); ToastUtil.imgColor = new Color(0,0,0,0); ToastUtil.moveFrame= 200; ToastUtil.Toast(this,"...TOAST..."+count); |
なんとか動画みたいになる。
雑感
こういう汎用的なものを実装するとき、また使うときに使いやすいようにユーティリティ化することが多いけど使う機会があまりない。
これに至っては作ったけど採用しなかったから0回使用。
今度からは2回目必要になったときに1回目のを叩き直す感じで作るか。
でもそれも二度手間な気がする…。
そもそもよく使われるようなものはググれば大概出てくるから、特殊用途だと割り切ってその場限りのコードでいいかもしれない。