【问题标题】:value of type '[SKNode ]'has no member 'name'“[SKNode]”类型的值没有成员“名称”
【发布时间】:2018-04-29 05:01:27
【问题描述】:

我的代码有问题。请在第 5 行帮助我!错误说:

“[SKNode]”类型的值没有成员“名称”

这是我得到错误的函数:

 override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {

    for touch: AnyObject in touches{
        let pointOfTouch = touch.location(in: self)
        let nodeITapped = self.nodes(at: pointOfTouch)

        if nodeITapped.name == "startButton"{

            let sceneToMoveTo = GameScene(size: self.size)
            sceneToMoveTo.scaleMode = self.scaleMode
            let myTransition = SKTransition.fade(withDuration: 0.5)
            self.view!.presentScene(sceneToMoveTo, transition: myTransition)

        }

我在if nodeITapped.name == "startButton" 的行上遇到错误

【问题讨论】:

    标签: swift


    【解决方案1】:

    self.nodes(at: pointOfTouch) 返回一个节点数组,因此您应该循环通过该数组检查每个节点。此外,您应该在找到该节点后从您的函数中return

    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    
        for touch in touches {
            let pointOfTouch = touch.location(in: self)
            for nodeITapped in self.nodes(at: pointOfTouch) {
    
                if nodeITapped.name == "startButton" {
    
                    let sceneToMoveTo = GameScene(size: self.size)
                    sceneToMoveTo.scaleMode = self.scaleMode
                    let myTransition = SKTransition.fade(withDuration: 0.5)
                    self.view!.presentScene(sceneToMoveTo, transition: myTransition)
    
                    // found the one I was looking for, so don't continue
                    return
                }
    

    【讨论】:

    • 谢谢一百万!!它解决了问题❤️
    【解决方案2】:

    当您收到此错误时:“[SKNode]”类型的值没有成员“名称”

    我认为 nodeITapped 是一个节点数组,所以像这样使用

    nodeITapped.name.name == "startButton"
    

    或者

    可以尝试这样的循环:

    for nodeITapped in self.nodes(at: pointOfTouch) {
    
        if nodeITapped.name == "startButton"{
    

    【讨论】:

    • 谢谢一百万!!它解决了问题❤️
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-31
    • 2021-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多