2011-12-23 12 views
3

CoronaのSDK storyboard APIを使用していますが、私のアプリではユーザーにレベルをもう一度試そうとします。私は単に(「もう一度やり直してください」ボタンをテーピング)イベントの後、コロナ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")を呼び出す必要がありますように見えますSceneScope( "level20"、 "flip")することができます。次に、createScene()の下でstoryboard.purgeScene( "level20")を使用してenterScene()で関数を作成します。次の質問は「20のダミーシーンを作成する必要がありますか?」という質問が表示されます。 storyboard.level = '20'の変数を 'ダミーシーン'から呼び出すよりも格納しない

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 
関連する問題