为什么我的自定义Swift类无法转移到GameScene

时间:2020-06-21 01:06:40

标签: ios swift xcode sprite-kit

我希望能够访问我的游戏场景中的自定义类。我按照以下指示进行操作:http://spritekitlessons.com/how-to-write-your-own-custom-classes-in-sprite-kit/

首先,我创建一个名为Player.swift的新文件,确保将其定位到我的项目文件夹中

然后我添加此自定义类

import Foundation
import SpriteKit

class Player: SKSpriteNode {
    let walkingActive = 0 
}

但是当我尝试在我的gameScene中访问它时

class GameScene: SKScene, SKPhysicsContactDelegate {

    var thePlayer: Player = Player()

 }

我收到错误消息:使用未声明类型的“播放器”

如果我尝试使用无法像这样识别的类型实例化该类

 if let somePlayer:Player = self.childNode(withName: "Player") as? Player {
               //make the declared variable equal to somePlayer
               thePlayer = somePlayer
    
           }

我得到了错误:

用于条件绑定的初始化程序必须具有可选类型,而不是'<>'

使用未声明类型的“玩家”

我正在严格按照指南进行操作,并且找到了另一个资源来告诉我要做完全相同的事情。所以我不明白我在做什么错。

将感谢您的帮助!谢谢

为清晰起见,以下是我在做什么的图片

1 个答案:

答案 0 :(得分:2)

这看起来像是目标成员身份问题。

我建议查看Player.swift的目标成员身份,并确保项目名称旁边的复选标记存在。

如何验证目标成员身份

  1. 点击文件
  2. 打开实用程序窗格(Xcode的右窗格)(选项+命令+ 0)
  3. 导航到实用工具窗格中的文件检查器(文件图标)
  4. 应列出目标成员资格和文件路径

enter image description here