- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试开发一个包含多个关卡的新游戏项目。我正在阅读这个问题(Sprite Kit - Defining the variables for multiple scenes),了解使用尽可能少的重复代码来处理多个场景的最佳方法。答案当然是子类化。
假设我创建了我的“baseScene”,它是 SKScene 的一个子类。在这里,按照建议,我应该放置将在所有子类级别场景中共享的所有相关代码(播放器、对象、碰撞位掩码、触摸开始函数等)。我在 baseScene 中使用了常用的 moveToView 函数来添加内容,它在多个场景(level1Scene、level2Scene 等)中完美运行,这些场景都是 baseScene 的子类。触摸开始功能等也是如此,所以没问题。
然而,我现在的问题是,在我的“level1Scene”中,我终生无法弄清楚如何添加位于 baseScene 中的内容之上的内容,例如 1 级敌人、障碍物或背景。我不能使用 didMoveToView,因为它是一个覆盖函数,并且会删除我在 baseScene 父类(super class)中添加的所有内容。
如果这是一个基本且可能是愚蠢的问题,我将不胜感激,我深表歉意,但我对 swift 还很陌生,尤其是场景子类化。
最佳答案
您可以在level1Scene
中覆盖baseScene
的函数,您只需要确保调用该方法的super
版本即可。以下是您的 level1Scene
类中的几个示例:
override func didMoveToView(view: SKView) {
super.didMoveToView(view) // Calls `didMoveToView` of `baseScene`.
// Additional setup needed for `level1Scene`...
}
override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
super.touchesBegan(touches, withEvent: event) // Calls `touchesBegan` of `baseScene`.
// Additional stuff you want to do in `level1Scene`...
}
关于ios - Swift 多层次场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30486232/
想象一下,图书馆里有很多页数很多的书。我有一个 Library 对象,它有一个 HashSet 书籍,有一个页面对象列表。我如何使用 LINQ 计算库中有多少页? 干杯 尼克 最佳答案 假设您描述的类
我目前正在执行以下操作来为我的 javascript 代码提供一个命名空间: (function(foo, $, undefined) { // function: showNoteDialo
我正在努力弄清楚如何异步执行多个级别的 promise 。我已经搜索了文档,但大多数 promise 库都让您等待所有 promise 执行一些逻辑或一个然后下一个。我需要这两方面的一个方面。我写了一
我正在尝试使用标准 wpf 数据网格为多级表数据创建表编辑器。是否可以创建类似这样的嵌套结构? 使用标准的行细节嵌套网格看起来很难看,因为行细节必须有固定的高度(所以我会得到多个滚动) 最佳答案 每个
我正在尝试让级联“删除”中间件在 mongoose 上运行。 我有一个数据库: 'modules' -> 'modulesInst' -> 'assignments' -> 'studentAssig
我是一名优秀的程序员,十分优秀!