无法使用 unarchiveFromFile 在 SpriteKit 中设置 GameScene

2024-03-12

我正在使用 Xcode 7 beta 2 并按照 raywenderlich.com 的 Breakout 教程来学习 SpriteKit。这是当我尝试使用 unarchiveFromFile 加载 GameScene 时出现的错误。

GameScene.type 没有名为 unarchiveFromFile 的成员。

这是代码:

func didBeginContact(contact: SKPhysicsContact) {
    // 1. Create local variables for two physics bodies
    var firstBody: SKPhysicsBody
    var secondBody: SKPhysicsBody

    // 2. Assign the two physics bodies so that the one with the lower category is always stored in firstBody
    if contact.bodyA.categoryBitMask < contact.bodyB.categoryBitMask {
        firstBody = contact.bodyA
        secondBody = contact.bodyB
    } else {
        firstBody = contact.bodyB
        secondBody = contact.bodyA
    }

    // 3. react to the contact between ball and bottom
    if firstBody.categoryBitMask == BallCategory && secondBody.categoryBitMask == BottomCategory {
        //TODO: Replace the log statement with display of Game Over Scene

        if let mainView = view {
            let gameOverScene = GameOverScene.unarchiveFromFile("GameOverScene") as! GameOverScene
            gameOverScene.gameWon = false
            mainView.presentScene(gameOverScene)
        }
    }
}

您应该使用init(fileNamed:)初始化器,从 iOS 8 开始可用。例如:

if let gameOverScene = GameOverScene(fileNamed: "GameOverScene") {
    // ...
}

重要的是要注意init(fileNamed:)是一个方便的初始化程序SKNode https://developer.apple.com/library/prerelease/mac/documentation/SpriteKit/Reference/SKNode_Ref/index.html#//apple_ref/occ/clm/SKNode/nodeWithFileNamed::

convenience init?(fileNamed filename: String)

因此,对于GameOverScene自动继承init(fileNamed:), GameOverScene必须遵守以下规则Swift 编程语言:初始化 https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Initialization.html#//apple_ref/doc/uid/TP40014097-CH18-ID203(特别是规则 2):

假设您为在子类中引入的任何新属性提供默认值,则适用以下两条规则:

Rule 1如果你的子类没有定义任何指定的初始化器,它 自动继承其超类的所有指定初始值设定项。

Rule 2如果你的子类提供了它所有的实现 超类指定初始值设定项 - 通过按照以下方式继承它们 规则 1,或者通过提供自定义实现作为其一部分 定义——然后它自动继承所有超类 方便的初始化器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法使用 unarchiveFromFile 在 SpriteKit 中设置 GameScene 的相关文章

  • Xcode 错误 - 架构 x86_64 的未定义符号?

    我正在运行 Swift 4 和 Xcode 9 beta 我收到此错误 但我不知道如何解决它 我什至不知道这是什么意思 Undefined symbols for architecture x86 64 T0So22AVCapturePho
  • 如何向 UIView 添加大小调整手柄?

    我试图根据用户请求在运行时动态创建视图 UIImageView 和 UITextView 然后允许用户移动它们并调整它们的大小 除了调整大小之外 我的一切都工作得很好 我尝试使用捏合手势识别器 但发现它对于我想要的东西来说太笨拙了 因此 我
  • 将自定义图像设置为 UIBarButtonItem 但它不显示任何图像

    我想将自定义图像设置为 UIBarButtonItem 但它只显示周围的矩形框并且不显示实际图像 func setupBrowserToolbar let browser UIToolbar frame CGRect x 0 y 20 wi
  • Xcode 10 Beta 5 — clang:错误:链接器命令失败,退出代码为 1

    有人可以帮我吗 我的项目一切正常 但更新到 Xcode10 Beta5 后 尝试在 iPhone 上运行该应用程序时出现此错误 然而模拟器可以工作 请帮助我 我已经对这个问题进行了网络搜索并发现this https stackoverflo
  • ios - Gamekit 的 GKOctree 未找到元素

    我正在尝试使用GKOctree https developer apple com documentation gameplaykit gkoctree用于高效检索 3D 空间中的对象 然而 以下代码似乎没有按预期工作 import Gam
  • 设置/覆盖 UICollectionView 中单元格之间的填充

    我有一个 UICollectionView 但在获取单元格之间的填充时遇到了问题 理论上 我应该能够将屏幕除以 4 并且我可以获得包含 4 个图像的单元格大小 完美地占据屏幕宽度 但是 它选择不这样做 相反 它会创建 3 个具有巨大填充的图
  • SwiftUI:状态栏颜色

    有没有办法将 SwiftUI 视图的状态栏更改为白色 我可能错过了一些简单的东西 但我似乎找不到在 SwiftUI 中将状态栏更改为白色的方法 到目前为止我只看到 statusBar hidden Bool 状态栏文本 色调 前景色可以通过
  • 检测 AVAudioPlayer 中的播放结束

    我有几个短的 mp3 声音 我将它们存储在数组中 并希望连续播放它们 有什么方法可以检测 AVAudioPlayer 何时停止播放 以便我可以调用完成处理程序并播放下一个声音 我知道有一个委托 但我正在使用 Playground 和 SKS
  • 在真实设备上展示测试广告

    这是我的代码 let request GADRequest request testDevices kGADSimulatorID XXXX2F32d69CCA859FFB559D0FEA3CF6483D08A6 adView load r
  • 为什么我的视图仍然以横向呈现?

    我的视图是由导航控制器控制的 因此我将导航控制器支持的方向设置为明确的纵向和纵向UpSideDown 这可以工作 但是如果调用视图时前一个视图处于横向状态 它将以横向方式呈现并保持横向状态 直到设备旋转 如何防止这种情况发生 这是我的代码
  • SKNode 上的 runAction 未完成

    我使用 NSOperation 子类来获取串行执行SKAction正如这个问题中所描述的 如何在 Swift 中子类化 NSOperation 以将 SKAction 对象排队以进行串行执行 https stackoverflow com
  • Swift C 回调 - Swift 类指针的 takeUnretainedValue 或 takeRetainedValue

    我有一些UIView or UITableViewCell 里面我有 C 回调 例如 CCallback bridge self observer data gt Void in let mySelf Unmanaged
  • Swift 中的 UIAlert 自动消失?

    我有以下代码 Creates Alerts on screen for user func notifyUser title String message String gt Void let alert UIAlertController
  • 如何防止 RealmSwift 列表中出现重复项?

    如何防止向列表中添加重复项RealmSwift 我有我的User作为领域对象 但真正的数据源是服务器 只是使用领域在本地缓存用户 当我从服务器获取当前用户数据时 我想确保存储在领域中的用户拥有来自服务器的所有播放列表 以及它们的曲目列表等
  • NSDateFormatter 返回错误的日期 + Swift

    Code let dateString 2016 04 02 var formatter NSDateFormatter NSDateFormatter formatter timeZone NSTimeZone abbreviation
  • 迭代 NSOrderedSet

    我正在尝试迭代 NSOrderedSet 的实例 像这样的事情 func myFunc var orderedSet NSOrderedSet array 42 43 44 for n in orderedSet NSLog i n 但是
  • Swift 3.0 Pin 颜色注释在 MapView 中没有改变

    我有兴趣根据案例场景更改注释的图钉颜色 在一个函数中 我发送了一个数组 用于确定引脚注释的颜色 到目前为止 我已经设置了一个名为 ColorPointAnnotation 的子类 它将确定 pinColor 然后 在 switch 语句中
  • 如何使用 Swift 获取 YouTube 频道的所有播放列表?

    我的问题不是关于从一般频道检索视频 我只想获取该频道创建的所有 播放列表 并检索每个播放列表的缩略图 标题和视频数量 这是一个 YouTube 频道示例 正如您所看到的 有很多已创建的播放列表 截至目前 我只能获取某个频道最新上传的视频 在
  • 退出导航控制器

    我试图离开初始视图控制器 并进入空白视图控制器 这很好 但是这会使空白视图控制器也成为导航控制器的一部分 这不是我想要的 我想脱离视图控制器 在视图控制器中 我尝试退出 它会自行弹出 当我尝试视图中的方法时 将出现目标视图控制器 self
  • ResponseSerializer“无法使用 Swift 3 调用非函数类型“NSHTTPURLResponse”的值?

    我一直在使用以下代码 没有出现任何问题 直到更新到 Xcode 8 beta 6 它类似于这个例子 https github com Alamofire Alamofire generic response object serializa

随机推荐

  • 接口错误(0,'')

    我已经使用 Django 构建了一个网站 当我尝试执行查询时 我收到了这个恼人的错误 如果我重新启动 Apache 服务器 该错误将在短时间内消失 Traceback File usr local lib python2 7 site pa
  • Add-ADGroupMember 找不到具有标识的对象

    我正在编写一个 PowerShell 脚本来将大量用户导入到 AD 中 其中一项是根据用户的程序编号将用户添加到 AD 安全组 大多数情况下 这工作得很好 除非我拼写错误 或者其他简单的人为错误 但是 我们有 2 个安全组 每个人都必须添加
  • Prism WPF 动态区域

    假设我们有一个包含模块 A 和 B 的 Prism 7 应用程序 主窗口有一个选项卡控件和两个按钮 用于将模块 A 或 B 添加到选项卡控件 我为选项卡控制项创建了一个绑定 并实现了一个项模板 其中包括 Prism Region 其名称绑定
  • 为什么是$!运算符右结合?

    我刚刚学习 Haskell 我仍然不完全清楚何时以及如何强制进行严格评估 当我想要一个函数严格评估它的参数时 我发现自己在写 f x y z 这看起来很奇怪 不应该 是左关联的 这样我就可以写 f x y z 并让它做我想做的事 我是不是完
  • 如何在 AFNetworking 2.0+ 中使用 AFHTTPRequestOperationManager 使用 cookie?

    众所周知 AFHTTP会话管理器AFNetworking 2 0 支持cookie 但有可能吗AFHTTP请求操作管理器在 AFNetworking 2 0 中支持 cookie 是的 AFNetworking 使用基础 URL 加载系统
  • 在python中创建v7.3的.mat文件

    我需要在 python 或 matlab 中执行涉及 60000X70000 矩阵的乘法 我有 16GB RAM 能够轻松加载矩阵的每一行 这就是我所需要的 我可以在 python 中创建整个矩阵 但不能在 matlab 中创建 无论如何
  • TypeScript - 将子类转换为超类

    下面的问题有简单的解决办法吗 我想将对象 B 转换为对象 A 感谢您的解决方案 export interface A a string export interface B extends A b string const b B a te
  • 类型错误:当我尝试识别照片时,“元组”对象无法解释为整数

    我想测试训练好的模型 我使用keras和opencv 代码如下 创建参数解析器并传递它们 ap argparse ArgumentParser ap add argument i image required True help path
  • 从包含 100,000 个整数的列表中检索两个最高的项目

    如何从包含 100 000 个整数的列表中检索两个最高的项目 而不必先对整个列表进行排序 Use heapq nlargest http docs python org library heapq html heapq nlargest 如
  • 选择多个字段分组依据和总和

    我想用 linq 对象列表 进行查询 但我真的不知道该怎么做 我可以进行组和求和 但无法选择其余字段 例子 ID Value Name Category 1 5 Name1 Category1 1 7 Name1 Category1 2 1
  • Angular 2 ngOnInit 中的测试承诺

    我有一个 Angular 2 组件 我试图对其进行测试 但我遇到了麻烦 因为数据设置在ngOnInit函数 因此不能立即在单元测试中使用 用户视图 component ts import Component OnInit from angu
  • VBA Internet Explorer 自动化 - 下载文件时如何选择“打开”

    这是我在 stackoverflow 上遇到的第一个问题 我一直在寻找这个问题的解决方案一段时间 但没有找到任何帮助 我可能只是在搜索中使用了错误的关键字 但到目前为止我还没有运气 这是问题 在 VBA 中 如何从 Internet Exp
  • Mongoose findoneandupdate 返回更新的文档但未在数据库中更新

    架构是正确的 这些字段应该更新 因此 我从一次 API 调用中获取了部分数据 还有一些来自另一个 我将在下面注明 我的架构 var coin new Mongoose Schema id Number rank Number source
  • 带有多个提交按钮的表单的 Javascript onsubmit

    我有一个带有两个提交按钮的表单 一个称为 显示 另一个称为 取消注册 显示提交不需要确认 而其他则需要确认 本来我打算用 onsubmit return confirm Are you sure you want to remove the
  • 在matlab中求解矩阵方程

    我有一个类型的方程c Ax By where c x and y是维度为 50 000 X 1 的向量 并且A and B是维度为 50 000 X 50 000 的矩阵 Matlab有没有办法求矩阵A and B when c x and
  • 如何根据条件限制并发消息消耗

    场景 我已经简化了事情 许多最终用户可以从前端 Web 应用程序 生产者 开始工作 繁重的工作 例如渲染大型 PDF 这些作业被发送到单个持久的 RabbitMQ 队列 许多工作应用程序 消费者 处理这些作业并将结果写回到数据存储中 这个相
  • C# ref 是像 C/C++ 中的指针还是 C++ 中的引用?

    我正在与ref并且不太明白 它像 C C 中的指针还是 C 中的引用 为什么我会问你这么弱的问题 因为 当我阅读 C NET 书籍 msdn 或与 C 开发人员交谈时 我对以下原因感到困惑 C 开发者建议不要使用ref在函数的参数中 e g
  • Pandas DataFrame 作为函数的参数 - Python

    假设 Pandas DataFrame 作为参数传递给函数 那么 Python 是隐式复制该 DataFrame 还是传入实际的 DataFrame 因此 如果我在函数内对 DataFrame 执行操作 我是否会更改原始数据帧 因为引用仍然
  • CBT 挂钩在 Windows Vista 中不起作用

    我正在尝试使用 CBT 挂钩来接收 HCBT MOVESIZE 通知 当我从桌面上的文件夹运行程序时 它适用于所有应用程序 当我将应用程序安装到 Program Files 或 Program Files x86 文件夹时 我只收到我自己的
  • 无法使用 unarchiveFromFile 在 SpriteKit 中设置 GameScene

    我正在使用 Xcode 7 beta 2 并按照 raywenderlich com 的 Breakout 教程来学习 SpriteKit 这是当我尝试使用 unarchiveFromFile 加载 GameScene 时出现的错误 Gam