Unityで2D STGを作る(4日目)(終)
- こまごまとした修正
- スペカ名を右上に表示するように
- ボス撃破エフェクト追加
- ボス撃破後、少し待ってからクリア画面に行くように
- ボスマーカーを追加
- スペカ2実装。時止め処理追加
単にグローバルなところに時止めフラグを追加し、ボス以外のUpdateでそのフラグを見て何もしないだけ。
見栄えを考慮し、時止め中はボムが敵弾を消さないように(次にUpdateで処理をする際にDestroyするように) - WebGL用のビルド設定を追加
ここで問題が発生。
何故かProject Setting...→Player→Resolutionで指定したサイズになってくれない。
ChromeでもFireFoxでも同じ。
開発者ツールで見ると、gameControllerのdivのwidth、heightは指定したサイズ(1024*768)になっているが、Canvasのサイズが1163、872になってしまっている。
Standaloneでビルドしてexeで実行すると意図した画面サイズになる。 これはググっても同様の症状が見当たらず解決していない。
暫定対応として、以下を行った - index.htmlにCanvasのサイズ調整を行うボタンを追加
参考:UnityのWebGLビルドのHTMLテンプレート|npaka|note WebGLTemplatesフォルダを作成し、ビルド時に任意のhtmlを使えるように。
ここにボタンを配置し、クリック時に以下が実行されるように
function resize(canvas) { var canvas = document.getElementById('#canvas'); canvas.width = 1024; canvas.height = 768; canvas.clientWidth = 1024; canvas.clientHeight = 768; }
- タイトルからゲーム開始時にScreen.widthと想定する幅を比較して違ったらダイアログを表示し、リサイズボタンを押させる
上記の対応でゲーム部分は動作するが、ボタンの当たり判定がずれるという問題がある。
これは致命的ではないので無視した。
ただし、キーボードで常に選択できるようにはした
if (UnityEngine.EventSystems.EventSystem.current.currentSelectedGameObject == null) { UnityEngine.EventSystems.EventSystem.current.SetSelectedGameObject(titleButton.gameObject); }
- GitHub Pagesに公開
参考:am1tanaka.hatenablog.com
GitHubに「自分のユーザーアカウント.github.io」でリポジトリを作成してそこにコミットすればいい。
https://{ユーザアカウント}.github.io でアクセスできる
出来上がったのが以下
https://daybreaksnow.github.io
クオリティを上げるべきところはたくさんあるが、今回はマリン船長の誕生日お祝い企画ということで、いったんここで終わり。