画面をタッチされた時に反応するタッチビギャンイベントなのですが、
下記のジャンプ先であるfunc dangen内などでも使いたいです。
しかし、なぜか二つ目のタッチイベントはオーバーライドを消せと言われてしまいます。

タッチイベントを別のfuncの中では使えないのでしょうか?

override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
    for touch: AnyObject in touches {
        // タッチされた位置にあるものを調べて
        let location = touch.locationInNode(self)
        let touchNode = self.nodeAtPoint(location)

        // もし、ボタンなら
        if touchNode == aLabel {
            self.dangeon()
        }

        //ショップへ
        if touchNode == bLabel {
           self.shop()
        }
    }
}

func shop(){
    override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
        for touch: AnyObject in touches {
            // タッチされた位置にあるものを調べて
            let location = touch.locationInNode(self)
            let touchNode = self.nodeAtPoint(location)

            // もし、ボタンなら
            if touchNode == cLabel {
                self.next()
            }
        }
    }
}