将发射器节点添加到 sks 文件并使用它 - XCode 6.0 + swift

Posted

技术标签:

【中文标题】将发射器节点添加到 sks 文件并使用它 - XCode 6.0 + swift【英文标题】:Adding Emitter Node to sks file and using it - XCode 6.0 + swift 【发布时间】:2014-09-19 03:41:59 【问题描述】:

我正在尝试学习如何使用 SKEmitterNode,为此我创建了一个 SpriteKit 项目。默认情况下,它提供一个 GameScene.sks 文件,选择它会显示包含 EmitterNode 的库中的对象列表。我尝试将 EmitterNode 拖到 GameScene 上并在属性检查器中对其进行配置,如下所示:

经过这个简单的设置后,我尝试在模拟器上运行该项目,但它没有在屏幕上显示任何粒子,而是显示默认的“Hello World”用户界面:(

有什么我遗漏的吗?

【问题讨论】:

【参考方案1】:

例如,您可以为您的 EmitterNode (TestNode.sks) 创建单独的文件。在此文件中,您可以像在属性检查器中一样配置 EmitterNode。然后你可以像这样在 GameScene.swift 文件中将你的节点添加到你的场景中:

let emitterPath: String = NSBundle.mainBundle().pathForResource("TestNode", ofType: "sks")!
let emitterNode = NSKeyedUnarchiver.unarchiveObjectWithFile(emitterPath) as SKEmitterNode
emitterNode.position = CGPointMake(100, 100)
emitterNode.name = "emitterNode"
emitterNode.zPosition = 10
emitterNode.targetNode = self
self.addChild(emitterNode)

【讨论】:

我认为这不能回答问题。如何将“TestNode.sks”分配给已经在“GameScene.sks”中创建的粒子发射器节点? 我认为上面的“pathForResource”方法引入了TestNode。

以上是关于将发射器节点添加到 sks 文件并使用它 - XCode 6.0 + swift的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 9:SKEditorReference不允许动画?

如何从sks文件加载节点,然后应用在Scene Editor中定义的操作

从 SKS 文件加载节点时使用的初始化程序

发射器节点没有淡入

将多行字符串添加到 Yaml-cpp 节点

在可视化映射器中将命名空间添加到根节点