來翻譯一篇只要是遊戲都會用到的【存檔/讀取】的code,官網程式分享的原文。
回饋作者討論區──不過都是全英文的,有語言障礙就多方求助吧(像是我)
此程式是用於分數排行榜、儲存設定值以及一些資料數據,簡單來說會幫你把一些資料打包存在手機記憶體中,到下次使用程式時可以讀取。
首先先載入ice.lua檔案,下方的程式3至6行是一些參數陣列設定,7行是儲存。
9行至12行就是對最高分的參數設置(ice程式中只會存取最高分的結果)
15行顯示最高分的結果在模擬器上。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | require( "ice" ) local settings = ice:loadBox( "settings" ) settings( "difficulty", "easy" ) settings( "volume", 0.7 ) settings( "playerPosition", { x = 100, y = 45 } ) settings:save() local scores = ice:loadBox( "scores" ) scores:store( "best", 100 ) scores:storeIfHigher( "best", 65 ) scores:storeIfHigher( "best", 105 ) scores:save() print( scores:retrieve( "best" ) ) |
另外,如果是初次啟動程式,設定初始化的程式如下。
1 2 3 4 | require( "ice" ) settings = ice:loadBox( "settings" ) settings:storeIfNew( "volume", 0.5 ) |
官網分享原文中有提供一個現成的程式可以直接模擬,下方我特別抽出來,是讀取分數的程式。(以下程式白話就是觸發onEnterFrame事件時,讀取player1和player2最高分數,沒有的則設置為零)
1 2 3 4 5 6 7 | -- Update the score displays local onEnterFrame = function( event ) player1.score.text = scores:retrieve( "player1" ) or 0 player2.score.text = scores:retrieve( "player2" ) or 0 end Runtime:addEventListener( "enterFrame", onEnterFrame ) |
原文提供的程式下載:
沒有留言:
張貼留言