Swift 类型为'的值;[SKNode]';没有成员';名称';
我的代码有问题。请帮我排5号线!错误显示: “[SKNode]”类型的值没有成员“name” 下面是我得到错误的函数: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
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"{