0

この 2D ゲームに取り組んでいますが、メニュー ページに問題があります。メニューページでやりたいことは、「レベルボタン」が押されるたびに、対応する .lua ファイルが開かれることです。たとえば、最初のボタンが押されると、level1.lua が開きます。コロナ SDK のループと配列に慣れていません。ゲームの最初のステージには 63 のレベルがあるため、ループでこれを達成する方法を教えてください。手動で行うには永遠に時間がかかります。御時間ありがとうございます。以下は私がこれまでに持っているものです:

local touchMenu = function (event)  

   local obj = event.target         
   local bid = obj.id                           

  for a = 1, numLevels, 1 do -- loop through the number of levels set up in data.lua
        levels[a].id = a
  end

   if bid == 1 then                

        _G.nextScene = "level"..1..""
        storyboard.gotoScene("loading")   

    end
           if bid == 2 then         

        _G.nextScene = "level"..2..""
        storyboard.gotoScene("loading")   

    end
4

2 に答える 2

0

グローバル変数 (_G.nextScene) は避ける必要があります。必要なことを行い、グローバル変数を処理するには、次のようにします。

あなたの menu.lua で:

local touchMenu = function(event)
    local obj = event.target         
    local bid = obj.id
    local custom =
    { 
        nextScene = "level" .. bid
    }
    storyboard.gotoScene("loading", {params=custom})
end

あなたの loading.lua で:

local nextScene

-- Call this function when you want
function scene:goToNextScene()
    storyboard.gotoScene(nextScene)    
end

function scene:enterScene(event)
    nextScene = event.params.nextScene
end
scene:addEventListener("enterScene")
于 2013-11-10T07:55:33.277 に答える