레벨 1로 나를 가리키는 main.lua가 있습니다. 레벨 2로 이동하는 onCollision 기능이 있지만 레벨 2로 이동하면 모든 것이로드됩니다. 물리 엔진을 제외하고는 괜찮습니다. 콘솔에 ERROR : physics.start()가 호출되지 않은 오류가 발생합니다. 그러나 level2.lua의 상단에 난 선언 :Corona SDK 오류 : physics.start()가 호출되지 않았습니다.
: 이function scene:hide(event)
local sceneGroup = self.view
local phase = event.phase
if event.phase == "will" then
-- Called when the scene is on screen and is about to move off screen
physics.stop()
elseif phase == "did" then
-- Called when the scene is now off screen
end
end
function scene:destroy(event)
-- Called prior to the removal of scene's "view" (sceneGroup)
local sceneGroup = self.view
package.loaded[physics] = nil
physics = nil
end
내 level2.lua의 시작은 이것이다 :
local physics = require("physics")
physics.start()
이 내 level1.lua 파일의 끝입니다
-----------------------------------------------------------------------------------
--
-- level2.lua
--
---------------------------------------------------------------------------------------
local composer = require("composer")
local scene = composer.newScene()
-- include Corona's "physics" library
local physics = require ("physics")
physics.start()
-- forward declarations and other locals
local screenW, screenH, halfW, halfH = display.contentWidth, display.contentHeight, display.contentWidth*0.5, display.contentHeight*0.5
local centerY, centerX = display.contentCenterY, display.contentCenterX
물리학이 아주 명확하게 시작 되었는데도 왜이 오류가 발생합니까? level1.lua에서 level2.lua로 똑같은 코드를 복사하려고 시도했지만 여전히 동일한 결과를 얻었습니다.
씬 : create (event) 함수로 physics.start()를 이동하십시오. –
나는 그것을 시도했지만 작동하지 않는다. 나는 여전히 같은 오류 메시지를 받는다. – user3036519
그것은 많은 일이 될 수 있습니다. 물리층 모듈을 사용하는 청취자가 이전 장면에서 제대로 종료/제거하지 않는 경우? 그런 식으로 다른 장면에서 물리학을 제거하면 청취자가 물리를하지 않아도 오류가 발생할 수 있습니다. 그러나 오류가 많은 장소에있을 수 있으므로 제공된 코드에서 아무 것도 찾을 수 없습니다. –