2011-12-23 16 views
3

Corona의 SDK storyboard API을 사용하고 있습니다. 내 앱에서 사용자가 레벨을 다시 시도하도록하고 싶습니다. 나는 단지 (이하 "다시 시도"버튼을 테이핑) 이벤트 후,Corona SDK에서 장면을 다시 시작하는 방법은 무엇입니까?

storyboard.gotoScene("level20","flip") 
level20는 현재 장면이

를 호출하지만 일하는 것이하지만 장면 때처럼 재설정 같은 곳에서 모든 그것의 표시 객체를 유지하는 대신 I 다른 장면에서 온다.

동일한 장면에서 장면을 다시 시작할 수 있습니까?

감사합니다.

편집 : 빌드 2.0.0 : 2011.704

편집 (가능한 수정) :

코로나의 버전을 사용하고 내가 수정을 발견 할 수

. "장면 제거 및 제거"의 docs에서 : 새 장면으로 이동하면 이전 장면이 빠른 재로드를 위해 메모리에 저장됩니다. 장면 : createScene()이이 메모리를 제거합니다.

내가 찾은 해결책은 scene:createScene()으로 전화하는 것이었지만 작동하지 않는 것 같지만 잘못된 접근이라면 알려 주시기 바랍니다. 감사.

답변

0

사실 여기 토론에 나 자신을 수행하지만, 기반하지 않은 :

http://blog.anscamobile.com/2011/11/introducing-the-storyboard-api/

그것은 당신이 '더미를 만들 storyboard.gotoScene("level20","flip")

+0

고마워요,이게 논리적으로 보이지만 방금 시뮬레이터가 멈추고 "코로나 시뮬레이터가 작동을 멈췄습니다"라는 창이 나타납니다. 그러나 Corona의 터미널에는 오류가 표시되지 않습니다. – SoftwareDev

1

를 호출하기 전에 storyboard.purgeScene("level20")를 호출해야합니다 같습니다 scene '어디에서 할 수 있습니다 storyboard.purgeScene ("level20") createScene() 다음 enterboard 수있는 기능을 만듭니다() storyboard.gotoScene 수 있습니다 ("level20", "플립"). 다음 질문은 '20 개의 더미 장면을 만들어야합니까?'라는 질문이됩니다. storyboard.level = '20'보다 변수를 저장하지 않습니다. 'dummy scene'에서 호출하는 것보다

0

위의 코드는 잘 작동하지 않는 것 같아요. 간단한 전환 효과로 내 솔루션을 얻었습니다.

function scene:refresh(event) 
    local v = self.view 
     transition.to(v, {time=500, alpha=0.5, transition=easing.inExpo, onComplete=function(e) 
     self:destroyScene() 
     self:createScene() 
     storyboard.reloadScene() 
     transition.to(v, {time=500, alpha=1, transition=easing.outExpo}) 
    end}) 
end 
관련 문제