2017-01-28 13 views
1

私のSprite-kitゲームシーンでは、ピンク/パルシングアクションを追加しようとします。私はゲームビューコントローラを呼び出す方法を知らない。シンプルUIViewControllerでは、私は単純に起動することができます。ゲームシーンからアクションを呼び出す方法

viewController.addPulse  

しかしSprite-kitゲームシーンに私はそれを呼び出すするかどうかはわかりません。 は、ここに以下は、私が試したコードがあると、それはのラインに私にエラーを与える:

let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(GameViewController.addPulse))  



if defaults1.integer(forKey: "Sphere") == 13 { 
     Ghost = SKSpriteNode(imageNamed: "moon") 
     Ghost.size = CGSize(width: 50, height: 50) 
     Ghost.position = CGPoint(x: self.frame.width/2 - Ghost.frame.width, y: self.frame.height/2) 
     Ghost.physicsBody = SKPhysicsBody(circleOfRadius: Ghost.frame.height/1.4) 
     Ghost.physicsBody?.categoryBitMask = PhysicsCatagory.Ghost 
     Ghost.physicsBody?.collisionBitMask = PhysicsCatagory.Ground | PhysicsCatagory.Wall 
     Ghost.physicsBody?.contactTestBitMask = PhysicsCatagory.Ground | PhysicsCatagory.Wall | PhysicsCatagory.Score 
     Ghost.physicsBody?.affectedByGravity = false 
     Ghost.physicsBody?.isDynamic = true 
     Ghost.zPosition = 2 
     self.addChild(Ghost) 
     Ghost.isUserInteractionEnabled = true 
     let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(GameViewController.addPulse)) 
     tapGestureRecognizer.numberOfTapsRequired = 1 
     Ghost.addGestureRecognizer(tapGestureRecognizer) 
+0

addPulseはノードを上下に繰り返してスケールするだけですか?もしそうなら、あなたはSKActionsを使うことができます – Nik

答えて

4

私はあなたとあなたのシーンをホストするコンテナを混乱、あなたがSprite-kit要素とUIKit要素をミックス怖いですシーンそのもの。

SKViewは、UIViewサブクラスです。それは他のUIViewのように使用できるビューにSprite-kitの内容をラップします。実際には、通常は関連するView Controllerがあります。

シーンはSKSceneクラスです。ゲームを実装するために必要なコールバック(物理、SKNodeサブクラスの要素、アクション、更新..)を提供します。

通常、ゲームコンテンツを取り替えるためのシーンを提示している間、ビューはそのままの状態を維持します。

コードで何を達成したいのかという疑問があります。パルスを表示するアクションを作成する場合は、シーンを構築して呼び出す必要があります。UIViewControllerゲーム..

関連する問題