如何在 Corona sdk 中发生碰撞时重新启动关卡
How to restart level upon collision in Corona sdk
我正在尝试让关卡在检测到与玩家的碰撞时自行重新加载。玩家被列为 "dynamic" 物理体,与之反应的对象被标记为 "kinematic"。如何让关卡在检测到玩家与任何物体发生碰撞时自行重置?这是我的代码:
local function onGlobalCollision( event )
if ( event.phase == "began" ) then
composer.gotoScene("level1")
end
player.collision = onGlobalCollision
player:addEventListener ("collision", player)
end
谢谢
确保在 scene:hide 方法中移除所有事件侦听器、场景组、停止物理并移除场景。再次启动后,它应该重新启动所有内容。另外,我认为您不需要 if(event.phase...)。
您的代码应该是:
局部函数 onGlobalCollision( 事件 )
composer.gotoScene("level1")
player.collision = onGlobalCollision
player:addEventListener ("collision", player)
结束
希望对你有用。
我正在尝试让关卡在检测到与玩家的碰撞时自行重新加载。玩家被列为 "dynamic" 物理体,与之反应的对象被标记为 "kinematic"。如何让关卡在检测到玩家与任何物体发生碰撞时自行重置?这是我的代码:
local function onGlobalCollision( event )
if ( event.phase == "began" ) then
composer.gotoScene("level1")
end
player.collision = onGlobalCollision
player:addEventListener ("collision", player)
end
谢谢
确保在 scene:hide 方法中移除所有事件侦听器、场景组、停止物理并移除场景。再次启动后,它应该重新启动所有内容。另外,我认为您不需要 if(event.phase...)。 您的代码应该是:
局部函数 onGlobalCollision( 事件 )
composer.gotoScene("level1")
player.collision = onGlobalCollision
player:addEventListener ("collision", player)
结束
希望对你有用。