저는 코로나와 루아를 처음 접합니다. 그래서 메인 화면에서 메인 파일로 이동하면 정상적으로 작동합니다. 그런 다음 다른 창고에서 그 창고로 돌아가고 싶습니다. 아무 일도 일어나지 않습니다. (하지만 "승리"는 내 창문을 내뿜고 있습니다.)LUA/Corona sdk : storyboard.gotoScene() not working
승리 기능 : 내가 전화 했어
function win()
print("win!");
storyboard.gotoScene("MSCREEN.mscreen");
end
기능 :
function scene:enterFrame(inEvent)
--some other stuff
if (ball.x>display.contentWidth and failFlag==false) then
win();
end
end
내 주요 sceen :
local scene = storyboard.newScene();
local bg;
local text;
function scene:createScene(inEvent)
bg = display.newImage("MSCREEN/bg.png");
bg.x = display.contentWidth/2;
bg.y = display.contentHeight/2;
text=display.newText("Touch!", 0,0, fontName, 70);
text.x =display.contentWidth/2 ;
text.y =display.contentHeight/2 +230;
self.view:insert(bg);
self.view:insert(text);
end
function scene:enterFrame(inEvent)
tekstBujany(text);
end
function scene:touch(inEvent)
if inEvent.phase == "ended" then
storyboard.gotoScene("JUMP.GJump");
end
end
function scene:destroyScene(inEvent)
bg:removeSelf();
bg=nil;
text:removeSelf();
text=nil;
end -- End destroyScene().
scene:addEventListener("createScene", scene);
scene:addEventListener("destroyScene", scene);
Runtime:addEventListener("enterFrame", scene);
Runtime:addEventListener("touch",scene);
return scene;
해결 그래서
,691 추가storyboard.purgeOnSceneChange = true;
트릭을했는데 이유가 확실하지 않습니다.
고맙습니다. goToScene에 대한 첫 번째 호출 이후에 입력 프레임이 중지되었다고 확신했습니다. 그리고 나는 그것을 이해할 수 있기 때문에 storyboard.purgeOnSceneChange = true를 유지하는 것이 좋은 생각이라고 생각합니다 (저는 많은 마음을 가지고 있습니다). – Yeris
@yeris 귀하의 솔루션이 작동하지만 사용하는 설정의 행운의 부작용으로 인해보다 견고한 솔루션을 찾고자 할 때 다른 옵션을 제공하기를 원합니다. 당신이 속임수 가방에 추가하는 것이 유용하다고 생각하길 바랍니다. – Schollii
예, 전 논리를 바꾸 었습니다. storyboard.purgeOnSceneChange = true를 유지하는 것이 좋은 생각인지 알고 싶습니다. – Yeris