
204
|
第
6
章
要在
SKShapeNode
上应用贝塞尔曲线,我们需要用到
UIBezierPath
的
CGPath
属性,
然后赋给
SKShapeNode
对象。关于
SKShapeNode
,参见本章的问题
6.12
。
6.16
烟雾
、
火焰和粒子特效
问题
我们想创建火焰、烟雾或其他粒子效果。
解决方案
我们经常用粒子效果来模拟各种相关特效。创建粒子效果的步骤如下:
1.
依次选择
File/New/File
菜单,然后选择
Resource/Sprite Kit Particle File
。
2.
当被问到要使用哪个模板时,选择一个你想用的模板,
Jon
通常喜欢采用火焰
模板。
3.
打开新创建的文件,我们将打开离子喷射器编辑器。在这个编辑器中,
Xcode
允许我们通过各种属性编辑的方式定义粒子系统的最终效果,包括要喷射的粒
子数量,它们随时间进行的变化,以及它们的颜色等。同时,我们还可以拖动
它们以查看粒子系统在移动时的动态显示效果。
配置好粒子系统后,我们可以用以下代码将效果添加到场景中(请将文件名修改为
你自己的文件名):
guard let fireNode = SKEmitterNode(fileNamed: "Fire.sks") else {
fatalError("Failed to load fire node!")
}
myScene.addChild(fireNode)
讨论
粒子特效常用于模拟各种自然现象,如果要一个个地创建精灵去实现这种效果几乎
是不可能的。而在粒子系统中,单个的粒子自身并不占用多少资源,这样我们就可 ...