Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Variables 使用corona sdk跟踪高分的简单方法_Variables_Save_Coronasdk - Fatal编程技术网

Variables 使用corona sdk跟踪高分的简单方法

Variables 使用corona sdk跟踪高分的简单方法,variables,save,coronasdk,Variables,Save,Coronasdk,我几乎完成了我的游戏(只是图形和这个要做),但不知道我如何才能保存高分。我搜索了科罗纳的API,但没有找到我需要的。我也下载了这个,但它一直保存错误的高分 如果您有任何关于最佳和最简单方法的想法,我们将不胜感激 提前感谢。我使用以下命令保存游戏附带的高分。这并不完全是您想要的解决方案,但您应该能够根据自己的需要对其进行修改 我声明了一个名为highscore的全局变量,它跟踪所有分数。因为我有一个关卡选择屏幕和高分屏幕,所以我决定在我的菜单中声明它们,这样我就可以在导航游戏之前将它们加载并可用

我几乎完成了我的游戏(只是图形和这个要做),但不知道我如何才能保存高分。我搜索了科罗纳的API,但没有找到我需要的。我也下载了这个,但它一直保存错误的高分

如果您有任何关于最佳和最简单方法的想法,我们将不胜感激


提前感谢。

我使用以下命令保存游戏附带的高分。这并不完全是您想要的解决方案,但您应该能够根据自己的需要对其进行修改

我声明了一个名为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保存您告诉它的值,类中根本没有影响值的逻辑。也许你把文件名和值放在相反的顺序?