在SKScene上显示键盘并基于键敲击在精灵节点上执行操作

时间:2014-10-01 04:24:00

标签: ios sprite-kit skscene

我正在尝试学习SpriteKit并使用一些简单的示例应用程序。

目前我正在努力实现以下目标:

  1. 在SKScene上显示键盘
  2. 如果用户点击'A',在精灵节点上执行一些操作,如果用户点击'B'在其他精灵节点上执行其他操作
  3. 为达到第一项要求,我尝试了以下步骤:

    第1步:在GameViewController.swift中,添加了对视图的引用。

    var keyView: KeyboardDummyView?
    

    第2步:在viewDidLoad()中,创建了视图,将其分配给ivar,并将其添加到控制器的视图中。同时在GameScene中为反向引用ivar分配了“self”。

    override func viewDidLoad() {
        super.viewDidLoad()
    
        if let scene = GameScene.unarchiveFromFile("GameScene") as? GameScene {
            // So scene can forward touch event back here.
            scene.gvc = self
    
            // Other config
    
            keyView = KeyboardDummyView(frame: self.view.frame)
             self.view.addSubview(keyView!)
        }
    }
    

    第3步:添加了处理点击/触摸的功能。

    func handleTap() {
        // Show the keyboard
        keyView!.becomeFirstResponder()
    }
    

    第4步:在GameScene.swift中添加了对控制器的引用。

    var gvc: GameViewController?
    

    第5步:在touchesBegan处理了点按。

    gvc!.handleTap()
    

    但由于某些原因,在点击屏幕时没有显示键盘:(

    以下是代码库:KeyboardOverSKScene

    请告知我做错了什么?

    注意: 我在Xcode 6.0.1中尝试此操作

0 个答案:

没有答案