2017-07-15 9 views
3

SpriteKitでは、シーンの遷移が完了したときにコールバックがありますか?SpriteKit:シーン終了時のコールバックを表示しますか?

SKView presentScene関数にコールバックがあるように見えません。

代わりに、シーンがビューに移動した後にシーンを手動で呼び出し元に通知することがありますが、ネイティブのコールバックでよりクリーンなアプローチが期待されています。シーンは、所望の効果を達成するために、代わりに、遷移を終えいずれかNotification Sを使用するか、発信シーンfunc willMove(from:view)上のいくつかの種類の独自のデリゲートを作成したときに

+0

私が知っているコールバックはありません、あなたは古いシーンでmoveFromViewを使用する必要があります – Knight0fDragon

+0

@ Knight0fDragonそのように見えます。あなたは信用を得ることができるように答えとして投稿してください!ありがとう!あなたは古いシーンを使う必要はありませんが。新しいシーンのイベントを使用できます(willMove、didMoveなど)。 – Crashalot

+0

新しいシーンを使用することはできません。古いシーンを使用する必要があります。新しいシーンがすぐに起動します。 – Knight0fDragon

答えて

3

presentSceneあなたは、ノート

func willMove(from view:SKView) 
{ 
    NotificationCenter.default.post(name: "TRANSITIONCOMPLETE", object: nil) 
    //or create a delegate using protocols, assign the delegate, and call it 
    delegate?.finishedTransition() 
} 

既知のコールバックを持っていませんoutgoingScenes willMove(from:view)を使用する必要があります。これは、移行中に最後に起こることです。 didMove(to:view)は、移行の開始です

+0

が正しいですが、技術的には移行が完了したときに通知が必要でした。右(何が使用されたか)。助けてくれてありがとう! – Crashalot

+0

@ Crashalot ....あなたと私は非常に異なった定義を持っています。私には、遷移が終了するときです。これはwillMove(fromView) – Knight0fDragon

+0

です。あなたは正しいです、 "結論"はあいまいです。質問からの言葉は正しいです:新しいシーンが現れるとき。 – Crashalot

関連する問題