ハイハイスクールアドベンチャー_web版
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
ハイハイスクールアドベンチャー_web版 [2024/02/15 14:22] – [音とか] araki | ハイハイスクールアドベンチャー_web版 [2024/02/16 01:12] (現在) – [PWA] araki | ||
---|---|---|---|
行 249: | 行 249: | ||
if (' | if (' | ||
{ | { | ||
- | navigator.serviceWorker.register(' | + | navigator.serviceWorker.register(' |
} | } | ||
</ | </ | ||
行 279: | 行 279: | ||
' | ' | ||
' | ' | ||
- | 'js/sw.js' | + | ' |
]; | ]; | ||
行 303: | 行 303: | ||
要はキャッシュを登録しているだけである。 | 要はキャッシュを登録しているだけである。 | ||
これでオフラインでも使えるようになるらしい((そのように作られていれば))が、やってみていないのでわからない。 | これでオフラインでも使えるようになるらしい((そのように作られていれば))が、やってみていないのでわからない。 | ||
+ | |||
+ | なお、キャッシュされるオブジェクトの指定は、sw.jsのある場所からの相対パスまたは絶対パス、URIなどで、これを間違うとエラーをはいてキャッシュに失敗する。 | ||
+ | |||
+ | ブラウザによってはsw.jsがエラーを出しているとインストールボタンを表示してくれない厳格なやつもいたりするので、よく確認してほしい。 | ||
=== トラブルシュート === | === トラブルシュート === | ||
行 348: | 行 352: | ||
そもそもこの昭和レトロなアドベンチャーゲームに何をいっているんだという向きもあるだろうが、せっかくなので、今風のスライドスイッチにしておきたい。 | そもそもこの昭和レトロなアドベンチャーゲームに何をいっているんだという向きもあるだろうが、せっかくなので、今風のスライドスイッチにしておきたい。 | ||
- | サファリなら、そういう要素がサポートされているらしいが、多くのブラウザでは未サポート((2024年2月現在))なので、別の方法でやることにする。 | + | Safariなら、そういう要素がサポートされているらしいが、多くのブラウザでは未サポート((2024年2月現在))なので、別の方法でやることにする。 |
世の中には優れた人が多くいて、既にCSSを駆使して、そういうものをチェックボックスに付加してくれているので、まるっとそれをいただくことにする。 | 世の中には優れた人が多くいて、既にCSSを駆使して、そういうものをチェックボックスに付加してくれているので、まるっとそれをいただくことにする。 | ||
行 415: | 行 419: | ||
</ | </ | ||
+ | なお、実際に使用しているスタイルシートは、レスポンシブデザインっぽく、px使わないでサイズを指定しています。 | ||
+ | ==== 設定 ==== | ||
+ | |||
+ | 基本的には、特に設定項目はなかったのだが、音を鳴らすことにしたら、Qt版同様に、音を鳴らすのかどうかを覚えておいた方がいいような気がしてきた。 | ||
+ | |||
+ | まあ、毎回 Mute ONにしてしまうでもいいような気もしたが、将来何かの設定を追加したときに、それも覚えておいた方がいいような気がしたので、保存できるようにした。 | ||
+ | |||
+ | ゲームデータ保存用objectStoreはIndexedDBに作ってあったので、バージョンを2にして、設定用のobjectStoreも作るようにした。 | ||
+ | DBのアップグレードとかしないと思ってたが、いきなりすることになるとは先見の明がなさ過ぎた。 | ||
+ | |||
+ | < | ||
+ | const req = indexedDB.open(Database.DBNAME, | ||
+ | req.onupgradeneeded = (event) => | ||
+ | { | ||
+ | const db = event.target.result; | ||
+ | const oldver = event.oldVersion; | ||
+ | const newver = event.newVersion; | ||
+ | const migrations = { | ||
+ | " | ||
+ | db.createObjectStore(Database.STORENAME, | ||
+ | }, | ||
+ | " | ||
+ | db.createObjectStore(Database.PREFSTORE, | ||
+ | } | ||
+ | } | ||
+ | for (var v = oldver + 1 ; v <= newver ; v++) | ||
+ | { | ||
+ | if (migrations[v]) migrations[v](); | ||
+ | } | ||
+ | }; | ||
+ | </ | ||
+ | バージョン更新のやり方は、どこかで見かけたのを参考にした。 |
ハイハイスクールアドベンチャー_web版.1708006967.txt.gz · 最終更新: 2024/02/15 14:22 by araki