Variables 使用corona sdk跟踪高分的简单方法
我几乎完成了我的游戏(只是图形和这个要做),但不知道我如何才能保存高分。我搜索了科罗纳的API,但没有找到我需要的。我也下载了这个,但它一直保存错误的高分 如果您有任何关于最佳和最简单方法的想法,我们将不胜感激Variables 使用corona sdk跟踪高分的简单方法,variables,save,coronasdk,Variables,Save,Coronasdk,我几乎完成了我的游戏(只是图形和这个要做),但不知道我如何才能保存高分。我搜索了科罗纳的API,但没有找到我需要的。我也下载了这个,但它一直保存错误的高分 如果您有任何关于最佳和最简单方法的想法,我们将不胜感激 提前感谢。我使用以下命令保存游戏附带的高分。这并不完全是您想要的解决方案,但您应该能够根据自己的需要对其进行修改 我声明了一个名为highscore的全局变量,它跟踪所有分数。因为我有一个关卡选择屏幕和高分屏幕,所以我决定在我的菜单中声明它们,这样我就可以在导航游戏之前将它们加载并可用
提前感谢。我使用以下命令保存游戏附带的高分。这并不完全是您想要的解决方案,但您应该能够根据自己的需要对其进行修改 我声明了一个名为highscore的全局变量,它跟踪所有分数。因为我有一个关卡选择屏幕和高分屏幕,所以我决定在我的菜单中声明它们,这样我就可以在导航游戏之前将它们加载并可用 然后,我只需调用
Highscores[levelNumber]
即可获得每个级别的个人高分。当我想更改高分时,我只需调用Highscores[1]=500
并记住调用saveHighscores()
把下面的内容放到你的主页上
local highscoreHandler = require("highscoreHandler")
highscores =
{
0, 0, 0, 0, 0
}
highscores = loadHighscores()
并将其放入名为highscoreHandler.lua的单独文件中
local json = require "json"
function loadHighscores()
local base = system.pathForFile( "highscores.json", system.DocumentsDirectory)
local jsoncontents = ""
local highscoresArray = {}
local file = io.open( base, "r" )
if file then
local jsoncontents = file:read( "*a" )
highscoresArray = json.decode(jsoncontents);
io.close( file )
return highscoresArray
end
return highscores
end
function saveHighscores()
local base = system.pathForFile( "highscores.json", system.DocumentsDirectory)
local file = io.open(base, "w")
local jsoncontents = json.encode(highscores)
file:write( jsoncontents )
io.close( file )
end
是的,这里所有的代码都是免费的。注意!我编辑了代码来解决这个bug,注意之前的
Highscore
global varable将名称更改为Highscore
。改变了loadHighscores的返回机制。如果答案对你有帮助,记得投票并接受它,这样它就能帮助别人。是的,对不起,我以为我已经接受了答案。。。一旦我的声誉达到15,我将投票表决所有答案。我想当你修改它时,它可能不接受答案。再次感谢你的帮助!在系统事件中调用SaveHighScores。添加事件侦听器并在挂起和关闭时保存。是的,然后将系统事件更改为挂起或退出。仅供参考:Ego保存您告诉它的值,类中根本没有影响值的逻辑。也许你把文件名和值放在相反的顺序?