F5キーを押したときに呼ばれる箇所はありますか?(コアスクリプト内で)
リセットで終了したときに一部データが保存されないことがあり、不具合が起きるようなのです
リセット時に呼ばれる処理があれば教えて欲しいです
(あるいは、ゲームのウィンドウが閉じられるときとか)
リセット時に呼ばれる処理はありますか
Re: リセット時に呼ばれる処理はありますか
こんにちは!
rpg_manager.jsの「2018行目付近」に「location.reload();」という記述があり、これが再読込の処理です。
この処理はブラウザのリロードとほぼ同じでindex.htmlを読み込み直します。
参考
https://developer.mozilla.org/ja/docs/Web/API/Location/reload
rpg_manager.jsの「2018行目付近」に「location.reload();」という記述があり、これが再読込の処理です。
この処理はブラウザのリロードとほぼ同じでindex.htmlを読み込み直します。
参考
https://developer.mozilla.org/ja/docs/Web/API/Location/reload
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30
[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30
[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
Re: リセット時に呼ばれる処理はありますか
ありがとうございます
一部の大きいデータをlocalStorageに保存しており、
リセット~ニューゲームを連続で行うと消えてしまうようです
(セーブデータのinfoやcontentsは読書きが遅くてゲームが数秒停止するのでそれは使えませんでした)
location.reload()を確認して、書き換えられるようならそこでデータを保存してみます
一部の大きいデータをlocalStorageに保存しており、
リセット~ニューゲームを連続で行うと消えてしまうようです
(セーブデータのinfoやcontentsは読書きが遅くてゲームが数秒停止するのでそれは使えませんでした)
location.reload()を確認して、書き換えられるようならそこでデータを保存してみます
Re: リセット時に呼ばれる処理はありますか
なるほど、かなり大きなデータを保存していますね。。
localStorageは5MB以下推奨なのであまりに大きすぎると動作に支障がでるかもしれません。
また「location.reload()」はブラウザが実装している処理なので、ここの書き換えは難しいです。
localStorageは5MB以下推奨なのであまりに大きすぎると動作に支障がでるかもしれません。
また「location.reload()」はブラウザが実装している処理なので、ここの書き換えは難しいです。
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30
[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30
[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
Re: リセット時に呼ばれる処理はありますか
ありがとうございます
location.reload()が呼ばれる直前でセーブの記述をしました★
もし、これでも消えるようなら、
infoやcontentsに並列でセーブするようにしてみます
ありがとうございました
あとグレップか何かで出来るだけ検索するようにします
済みません
location.reload()が呼ばれる直前でセーブの記述をしました★
コード: 全て選択
SceneManager.onKeyDown = function(event) {
if (!event.ctrlKey && !event.altKey) {
switch (event.keyCode) {
case 116: // F5
if (Utils.isNwjs()) {
// ↓↓ここに追加しました★
localStorage._data = JSON.stringify(data);
location.reload();
}
break;
case 119: // F8
if (Utils.isNwjs() && Utils.isOptionValid('test')) {
require('nw.gui').Window.get().showDevTools();
}
break;
}
}
};
もし、これでも消えるようなら、
infoやcontentsに並列でセーブするようにしてみます
ありがとうございました
あとグレップか何かで出来るだけ検索するようにします
済みません