SpriteKit,可以留下一个“无场景”的精灵吗?

时间:2017-10-26 22:20:27

标签: sprite-kit skspritenode skphysicsbody

在所有游戏开发中,你都有场景编辑器中的原型,

enter image description here

这里我们有一个“狗”单元的模型原型和“太空船”单元的模型原型。

显然你只是禁用它们(或将它们留在舞台或其他任何地方),

在运行时需要狗时,你可以克隆原型。

一般来说,这一切在使用SpriteKit的Apple环境中都很有效 - 非常棒。您将拥有类似......的代码。

func setupModels() {

    modelDog = self.childNode(withName: "modelDot") as! SKSpriteNode
    modelSpaceship = self.childNode(withName: "modelBumper") as! ShipThing
}

然后你可以根据需要克隆它们

挂断

虽然你可以isHidden一个精灵,但Apple真的没办法“彻底禁用”精灵,物理等等。 (注意,请不要建议“设置碰撞位” - 这是一个模型!呵呵)

然而,我想到了一个解决方案(似乎)很有效,尽管看起来很奇怪......

..只需从场景中删除它们(!)

    removeChildren(in: [modelDog, modelSpaceship])

WTF对吗?

这似乎完美无缺。不,真的,你仍然可以在比赛期间正常克隆它们。

  • 我是疯子,这里有问题吗?

  • 每个人都这样做,我的问题很蹩脚吗?

  • 由于100.0%的游戏使用模型,Apple是否有“模型”设置或者我错过了?

同样,我的问题是......

我有一个SKSpriteNode。我实际上奇怪地将它从场景中移除,它只是“坐在那里”(它的.scene是零)。这可以吗?

0 个答案:

没有答案