Unity:少し特殊なストップウォッチアプリ制作日記_7:アプリ完成!
・アプリ完成・BOOTHにて配布開始しました!
なんだかんだでようやく完成しました。アプリは以下のサイトで無料配布してるので、興味を持たれた方はぜひダウンロードしてみてください。
さて前回の製作日記から少し間が空いてしまった。はやく書かないと開発の状況を忘れてしまう。というわけでアプリ完成までの残り部分を記していこう。
・情報パネルの作成
画面右上の「i」ボタンを押すと「このアプリの概要と既知の問題点」「制作者情報」が表示される。これは情報画面のルートになる階層のアクティブをボタンからON/OFFしているだけで特別なことは何もない。
ただこの「i」ボタン、時間を計測している間はグレーアウトして押せないようになっている。これは通常のアクティブのON/OFFとは違い、ボタンコンポーネントのinteractableという変数でfalseの時には「半透明で見えているけどボタンが押せない」という状態を設定できる。あってほしい機能がちゃんと用意されていてUnityさまさまだ。
あと、情報パネルに制作者(つまり僕)のtwitterページに飛べるボタンが設定されていて、
//ボタンが押された時、ブラウザでtwitterを開く
public void OpenTwitter()
{
Application.OpenURL("https://twitter.com/motoHobby3D");
}
これはブラウザで指定のURLを開くメソッドを使用している。何も考えなくても実装できてしまう。実にありがたい。
・ウィンドウサイズリセットボタンの作成
画面左上の細長のボタンがウィンドウサイズリセットのボタンだ。説明は一切ないけどアイコンの見た目でなんとなく判るだろう。押して損になることもないし。
これは試しにアプリを出力してみて欲しいなと思った機能で後から追加した。ボタンも丁度いい位置にスペースが空いていた。
ウィンドウサイズを可変にするかどうか、起動時のウィンドウサイズといった設定はProjectSettingsのPlayerページの下の方で設定できる。
ちなみにこのプロジェクトではデフォルトのウィンドウサイズは横360/縦640ピクセルだが、シーン中のcanvasのサイズは横1080/縦1920ピクセルで作成されていて、1/3に縮小表示されている。無用な心配かもしれないが、もし今後仮にスマホなどに対応する可能性を考えて、最低限縦向きフルHDの解像度を用意しておきたかったからだ。まぁその予定は無いけれど。
public void ScreenSizeSet()
{
Screen.SetResolution(width, height, false);
}
ボタンに付けられたスクリプトはスクリーンサイズを指定するメソッドで値を指定するだけ。最後のfalseはフルスクリーン表示をしない指定だ。
それでウィンドウサイズは上で挙げたProjectSettingsのdefaultScreenWidth / Heightの値を取ってこれれば……良かったんだけどね……。
using UnityEditor
こう宣言してやればPlayerSettingsからDefaultScreenの値を取得することができるらしいんだけど……実際にやったんだけど……アプリを出力する際だったかな? 「Editorの値使ってんじゃねーよ、ばーか」というような怒られが発生したっぽくて、結局あきらめて数値を直打ちした。
なんでそんなことを言われるのかはわからん。Unityつよつよな人がいるなら解決方法を教えてほしい。
・その他こまごまと
他にはウィンドウの縁部分のデザインを整えたり、フレームの割合を表示する円グラフに目盛りを付けたり、ボタンのチェックマークの絵をエディタのデフォルトから専用の絵に差し替えたり、余計な負荷を削減するため必要のないRaycastTargetを外したり、使用している画像をSpriteAtlasの機能で1枚にまとめて効率化したり、とまぁ細々と手を入れた。
あとこのアプリの名前を元は「ストップウォッチ」に対して「フレームウォッチ」としていたところを、絵コンテ作成のための補助ツールであることを伝えるために「コンテタイマー」に変えたりした。コンテって和製英語でそもそも正式な名称ではないらしいけど。
とにかくそんなこんなで完成したこのアプリ、決して凄い内容じゃないし必要とする人も限られてるけど、よかったら使ってみてください。あとこの一連の記事が「Unityそもそも何をしたらいいのか全然わからん」という、チュートリアルを終えたらいきなりひのきの棒一本持たされた状態で大草原に放り出された気分の人の助けになれば幸いです。
この記事が気に入ったらサポートをしてみませんか?