在所有游戏开发中,你都有场景编辑器中的原型,
这里我们有一个“狗”单元的模型原型和“太空船”单元的模型原型。
显然你只是禁用它们(或将它们留在舞台或其他任何地方),
在运行时需要狗时,你可以克隆原型。
一般来说,这一切在使用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是零)。这可以吗?