2017-01-16 21:57:22
otwl007  Lv.47:0  Lv.1
BASS創作者兼二代目管理員(羽那P)
發言  

cookie的字元限制無法處理大量變數 / 雜七雜八發問版 好主題 : 1

  (1/18 13:58更新) 終於發現原因了,cookies是有位元組上限的啊,可是遊戲需要儲存的變數實在是太多了(我想也有1000個),而現在光只是200個變數就已經用盡了cookie的上限。
  現在該怎麼辦?可否考慮使用txt檔作為saveform的存檔位置?
  因為我正在製作中的遊戲真的需要極為大量的變數,cookies的限制會使遊戲無法再繼續製作並完成,遊戲製作的計劃也只好無限期擱置。
  因此如能成功解決,實在感激不盡!!
  ---------------------分隔線-----------------------
  首先、這是以前的存檔資料(為了方便閱讀可以只看變數「day」和「energy」,就在第二行的位置):
    
  變數在經過一輪遊玩後變化,於是我利用了自動存檔(gamesave)的功能,以下為新的存檔資料(為了方便閱讀可以只看變數「day」和「energy」):
    
  然而,當我利用了自動讀檔(gameload)的功能後,居然又跳回舊存檔,可是存檔資料仍然是新的。我再使用一次自動存檔後,存檔資料又變回舊的存檔資料(為了方便閱讀可以只看變數「day」和「energy」):
    
  補充一點,舞台變數設定是沒有問題的,因為這些舞台一直以來也沒有修改,過往我亦測試過數百次是正常運作的。
  當時發現這個問題的情況:
  1.頭幾次還能正常auto-save和auto-load,然後某一次auto-save & auto-load時卻突然變成這個樣子,並持續至今。(正常與失常save的相隔時間只有10分鐘,在這10分鐘期間我一個程式碼也沒有修改過。)
  2.問題只有在這個遊戲的存檔發生,其他遊戲的存檔紀錄並沒有問題。
  3. 當前已儲存變數為剛剛好200個數字變數 + 1個物件變數「sys_item」
  難道說是因為變數超過了200個所以不能使用存檔嗎?
  4. setCookies 那邊所紀錄的變數,最後缺失了兩個直線字元 "||"
   例如: 上圖可見「saveform」最後那一行為「||weekm7process||」,可是「setCookies」中最後那一行為「||weekm7process」
  5. 我不停地去修改遊戲存檔數據,也都有F5了很多遍,確定「setCookies」和「saveform」的數據是有變動的,但是讀取檔案時仍然是第一幅圖的數據。

No.1141488870 2018-04-20 23:45:52
felita66 
ヽ(`∀´)ノ過年。
BM   發言  


 otwl007
 
 那使用localStorage或session storage儲存如何?
 txt就是寫log檔後再去讀出來了吧?
 感覺比較麻煩
 




felita66 : 有時候瀏覽器清除不乾淨的話,會發生這種問題,像google瀏覽器你可以按F12後   2018-04-20 23:49
felita66 : 對左上重新整理鍵按右鍵,清除快取,並強制重新載入   2018-04-20 23:50
otwl007 : 如果用這個,local storage應該會比較好吧,畢竟有些遊戲都很大的   2018-04-21 01:01
otwl007 : 用session storage就和舊BASS版一樣一關掉分頁就和存檔說再見wwww   2018-04-21 01:02
otwl007 : 不過用local stor.的話就不能不同裝置共享同一個存檔了,這點也算是一個缺點   2018-04-21 01:03