用电晕sdk跟踪高分的简单方法

时间:2014-07-17 17:54:48

标签: variables save corona

我几乎完成了我的游戏(只是图形和这个要做),但不知道如何保存高分。我搜索了电晕的apis,但没有找到我需要的东西。我也下载了这个http://techority.com/2011/12/28/ego-easy-saving-and-loading-in-your-corona-apps/,但它一直保存错误的高分......

非常感谢有关最佳和最简单方法的任何想法,

提前感谢。

1 个答案:

答案 0 :(得分:1)

我使用以下内容来保存附加到我游戏中的高分。它不是您想要的解决方案,但您应该能够根据需要对其进行修改。

我宣布一个名为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