簡體   English   中英

Corona SDK PurgeScene破壞物理

[英]Corona SDK PurgeScene destroys physics

我緊接着Mark Farkland的游戲教程,創建了一個簡單的滾動游戲。 我清楚地遵循了他的編碼方式,但是到了我迷路的地步,不知道為什么我的舉止與他的例子不同。 在清除場景之前,一切正常。

我有兩個lua文件:game.lua和gameover.lua。 在game.lua exitScene中,我刪除了所有事件監聽器。 在gameover.lua中進入場景,我清除了game.lua場景。 當用戶觸摸屏幕時,它將加載game.lua文件。 除了向上射擊的主要對象外,每個對象都像新對象一樣加載和刷新。

Game.lua

    local storyboard = require("storyboard")
    local scene = storyboard.newScene()
    local physics = require("physics")

    function scene:createScene(event)
         physics.start()
         ....
         local jet = display.newImage("images/jet_normal.png")
         physics.addBody(jet, "dynamic", {density=.07, bounce=0.1, friction=.2, radius=12})

        local activateJets = function(self, event)
            self:applyForce(0, -1.5, self.x, self.y)
        end

        function touchScreen(event)
            local phase = event.phase
            if phase == "began" then
                jet.enterFrame = activateJets
                Runtime:addEventListener("enterFrame", jet)
            end
            if phase == "ended" then
                Runtime:removeEventListener("enterFrame", jet)
            end
        end

        Runtime:addEventListener("touch", touchScreen)
end

function scene:exitScene(event)
    Runtime:removeEventListener("touch", touchScreen)
    Runtime:removeEventListener("enterFrame", enemy1)
    Runtime:removeEventListener("collision", onColission)
end

GameOver.lua

function start(event)
    if event.phase == "began" then
        storyboard.gotoScene("game", "fade", 100)
    end
end

function scene:enterScene(event)
    storyboard.purgeAll("game")
    background:addEventListener("touch", start)
end

function scene:exitScene(event)
    background:removeEventListener("touch", start)
end

您需要將噴氣機添加到當前組。

function scene:createScene(event)
   local group = self.view
   --...
   local jet = display.newImage("images/jet_normal.png")
   --...
   group:insert(jet)
   Runtime:addEventListener("touch", touchScreen)
end

觸發exitScene時,將對組進行適當的清理。

更多信息/不同的實現:

http://docs.coronalabs.com/guide/graphics/group.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM