2016-11-11 10 views
0

私はこのジェスチャーに応答することができませんでした。tvos swift spritekit - UITapGestureRecognizerが応答しない

self.isUserInteractionEnabled = true 
    let tap = UITapGestureRecognizer(target: self, action: #selector(self.movePlayer(_:))) 
    tap.allowedPressTypes = [NSNumber(value: UIPressType.playPause.rawValue)] 
    view?.addGestureRecognizer(tap) 

と機能:シミュレータのリモコンの再生ボタンを押したときに、すべての

func movePlayer(_ sender: UITapGestureRecognizer){ 
    player.run(SKAction.moveBy(x: 200, y: 0, duration: 10)) 
    print("Right!") 
} 

何も起こりません。私は何が欠けていますか?

+0

は、このオプションをヒットしているのに役立ちます

class GameScene: SKScene, SKPhysicsContactDelegate { override func didMove(to view: SKView) { self.isUserInteractionEnabled = true let tap = UITapGestureRecognizer(target: self, action: #selector(self.movePlayer(_:))) tap.allowedPressTypes = [NSNumber(value: UIPressType.playPause.rawValue)] view.addGestureRecognizer(tap) } func movePlayer(_ sender: UITapGestureRecognizer){ print("Right!") } } 

ホープ・シミュレータで動作しますか? (私はそれがオプションであると思う、それはシミュレータのリモートでそれを言うでしょう) – Knight0fDragon

答えて

0

タップジェスチャー認識コードが正常に表示されます。それをどこに追加しますか?didMoveToViewにありますか?

私は最近、新しいiOSの10

override func sceneDidLoad() { } 

方法で遊んでいたと私はジェスチャーrecognisersが動作しない追加したことに気づきました。

これは、このタッピングとき

+0

....はい、それは、sceneDidLoad()関数です。代わりにdidMoveに移動しようとしましたが、まだ動作しません。 – Zek

+0

ジェスチャーにdidMoveが必要です。私はsceneDidLoadでテストを覚えていますが、それはうまく動作しません。私はちょうど新しいプロジェクトでこれをテストし、それは正常に動作します。シーンのコード全体で質問を更新できますか? – crashoverride777

+0

さて、私は新しいプロジェクトでそれをテストしようとしましたが、今はうまくいきます。私のコードをdidMoveに移動すると動作します。私はスプライトの配置をdidMoveに移動し、別のエラーを修正しました。代わりにスプライトのコピーが作成されていました。だから、sceneDidLoadはひどいですか? – Zek