Swift 类型为'的值;[SKNode]';没有成员';名称';

Swift 类型为'的值;[SKNode]';没有成员';名称';,swift,Swift,我的代码有问题。请帮我排5号线!错误显示: “[SKNode]”类型的值没有成员“name” 下面是我得到错误的函数: override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { for touch: AnyObject in touches{ let pointOfTouch = touch.location(in: self) let nodeI

我的代码有问题。请帮我排5号线!错误显示:

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

下面是我得到错误的函数:

 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)

        }
override func touchsbegind(touch:Set,带有事件:UIEvent?){
用于触摸:触摸中的任何对象{
let pointOfTouch=触摸位置(in:self)
让nodeITapped=self.nodes(在:触点)
如果nodeTapped.name==“开始按钮”{
let sceneToMoveTo=游戏场景(大小:self.size)
sceneToMoveTo.scaleMode=self.scaleMode
让myTransition=SKTransition.fade(持续时间:0.5)
self.view!.presentScene(sceneToMoveTo,transition:myTransition)
}
如果nodeTapped.name==“startButton”
self.nodes(at:pointOfTouch)
返回一个节点数组,那么您应该循环检查该数组中的每个节点。此外,您应该在找到该节点后从函数中返回

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
            }
override func touchsbegind(touch:Set,带有事件:UIEvent?){
接触{
let pointOfTouch=触摸位置(in:self)
对于self.nodes中显示的节点(位于:触点){
如果nodeTapped.name==“开始按钮”{
let sceneToMoveTo=游戏场景(大小:self.size)
sceneToMoveTo.scaleMode=self.scaleMode
让myTransition=SKTransition.fade(持续时间:0.5)
self.view!.presentScene(sceneToMoveTo,transition:myTransition)
//找到了我要找的那个,所以不要继续
回来
}
当您遇到此错误时,“[SKNode]”类型的值没有成员“name”

我认为NodeTapped是一个节点数组,所以使用

可以尝试这样的循环:


非常感谢!!它解决了这个问题❤️非常感谢!!它解决了这个问题❤️
nodeITapped.name.name == "startButton"
for nodeITapped in self.nodes(at: pointOfTouch) {

    if nodeITapped.name == "startButton"{