如何在Lua和Corona SDK中将碰撞事件作为进入新场景的方法?

延续我的上一个问题,我有一些障碍物会在屏幕上移动。当我的汽车(名为“car”)与其中一个障碍物碰撞时,我需要我的应用程序进入游戏结束屏幕。这是我的目前的代码。

    function obstacles()
        local function onCollision( event )
            if ( event.phase == "began" ) then
                composer.gotoScene( "end", "fade", 500 )
            end
        end
        local obstacle = display.newLine( display.contentWidth, display.contentHeight - 72, display.contentWidth, display.contentHeight - 102 )
        obstacle:addEventListener( "collision", onCollision )
        obstacle:setStrokeColor( 1, 0, 0, 1 )
        obstacle.strokeWidth = 18
        transition.to( obstacle, { time = 3000, x=-70, onComplete=obstacles } )
    end

每当我似乎运行脚本并且汽车撞击障碍物时,什么都不会发生。有人可以帮忙吗?

点赞
用户2360222
用户2360222

我不知道您的碰撞事件是否有效,但是您的gotoScene函数不起作用。你需要查看文档:gotoScene()函数

你只需要2个参数,第一个是场景的名称,第二个是可选的表格,其中包含过渡的参数。

首先尝试执行 composer.gotoScene(“end”)

如果有效,您可以尝试:

local options = {
    effect = "fade",
    time = 500
}
composer.gotoScene(“end”,options)
2015-07-22 00:10:15