2016-08-07 16 views
1

私はSwiftSpriteKitの初心者です。 私はコードでgameViewControllerを持っている:gamescene.sksの後ろに

if let scene = IntroScene(fileNamed:"IntroScene") { 
     // Configure the view. 
     let skView = self.view as! SKView 
     skView.showsFPS = true 
     skView.showsNodeCount = true 
     skView.ignoresSiblingOrder = true 
     scene.scaleMode = .AspectFill 
     skView.presentScene(scene) 
    } 
} 

私のアプリはこのシーンで始まります。私は他のViewControllerでこのシーンのためのシンプルなアニメーションでいくつかのコードを持っている:

let introAnimationFadeIn = SKAction.fadeInWithDuration(0.05) 
let introAnimation = SKAction.animateWithTextures([introAnimation1, introAnimation2, introAnimation3, introAnimation4, introAnimation5], timePerFrame: 1.5) 
let sequenceIntroAnimation = SKAction.sequence([ 
     introAnimationFadeIn, 
     introAnimation]) 
intro.runAction(sequenceIntroAnimation) 
  1. 私はアニメーション完了した後、他のGameSceneにセグエを作成できますか?
  2. 私のプロジェクトでメインメニューを作成したいと思います。 SKSpriteNodeに触れたときに、他の人にセグを作ることはできますか?GameScene?またはボタンを作成する方が良いでしょうか? segueはviewControllersとしか使えないことは知っていますが、ゲームシーン間の名前のつながりが正しいかどうかわかりません。そして、私の英語には申し訳ありません。

答えて

3

シーン間を移動したい場合は、セグを使用しないでください。 Seguesは、SKSceneではなく、ビューコントローラ間の遷移です。

別のシーンを提示するには、SKViewを取得し、presentSceneと電話してください!

let scene = YourSceneClass(fileNamed:"Name of your scene that is going to present")! 
view.presentScene(scene) // view is an SKView 

シーンをプレゼンテーションする前にアニメーションを行いたいと思うようです。これにはSKActionが必要ありません。代わりにSKTransitionを使用してみませんか?

あなたはフェードで別のシーンに移行するために、このコードを使用することができます:

と簡単
// again, view is an SKView 
view.presentScene(scene, transition: SKTransition.fadeWithDuration(1)) 

関連する問題