【问题标题】:How to mix customised behaviour with Xcode UI pre-defined sprite when using Sprite Kit使用 Sprite Kit 时如何将自定义行为与 Xcode UI 预定义的 sprite 混合
【发布时间】:2020-09-18 22:24:44
【问题描述】:

我有一个通过 UI 预定义的英雄和敌人精灵,我可以像这样调用:

let heroSprite = childNode(withName: HeroName) as! SKSpriteNode
heroSprite.physicsBody!.categoryBitMask = HeroCategory

这是因为我的逻辑在实现 SKScene.childNode(_) 的 SKScene 子类中

现在我想将英雄逻辑提取到 SKSprite 的可重用子类中,而不必以编程方式执行所有操作,例如分配纹理等。

我想获得通过 UI 构建地图的好处,但我想获得面向对象的好处,例如:

class Hero: SKSpriteNode { func heroCustomBehaviour(_) }
class Enemy: SKSpriteNode { func enemyCustomBehaviour(_) }

或者:

class Hero: SKNode { func heroCustomBehaviour(_) }
class Enemy: SKNode { func enemyCustomBehaviour(_) }

如果我可以在不将 SKScene(破坏依赖倒置)传递给子类的情况下做到这一点,那就太好了。

【问题讨论】:

    标签: ios swift sprite-kit


    【解决方案1】:

    我找到了 XCode UI 中不太清楚的解决方案

    我可以像这样实例化:

    childNode(withName: HeroName) as? MyCustomClass 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-09
      相关资源
      最近更新 更多