【发布时间】:2016-03-26 09:29:25
【问题描述】:
我只是想做一些对我来说似乎非常简单的事情,即在视图的整个背景中制作发射器......然后我希望视图能够进行填充和缩放等等,允许无论我做什么,发射器看起来都合适......
我不只是想缩放发射器。我希望对象保持正确的大小,但我希望发射器的区域发生变化......把它想象成 Photoshop 中的“画布大小”(不调整大小)选项......
我会使用这种效果,例如,为整个场景添加雪或雨,或者制作雪球精灵......
问题是,也许我只是没找对地方,但似乎 SKEmitterNode 上的任何大小属性都是只读的……我做错了什么?
这里有一些代码,其中生成的发射器只是视图中间的一个小矩形。
override func viewDidLoad() {
super.viewDidLoad()
if let scene = GameScene(fileNamed:"GameScene") {
// Configure the view.
let skView = self.view as! SKView
skView.showsFPS = true
skView.showsNodeCount = true
if let emitter = SKEmitterNode(fileNamed: "Bokeh") {
emitter.position = view.center
scene.addChild(emitter)
}
/* Sprite Kit applies additional optimizations to improve rendering performance */
skView.ignoresSiblingOrder = true
/* Set the scale mode to scale to fit the window */
scene.scaleMode = .AspectFill
skView.presentScene(scene)
}
}
我需要再澄清一点。对于雪,我希望粒子在进入场景之前实例化,然后在场景中下落,在它们离开场景后才死亡,而不是随机出现在整个场景中,然后继续下落......我希望雪占据整个场景的边界。
【问题讨论】:
标签: ios uiview uiviewcontroller sprite-kit skemitternode