我正试图在我的宇宙飞船后面放一条烟。我将烟迹设计为发射器节点,但我似乎无法将发射器连接到宇宙飞船上。
我不明白为什么这不起作用。 IE。发射器根本不显示在屏幕上:
var spaceShip: SKSpriteNode?
spaceShip = SKSpriteNode(imageNamed: "ship1.png")
spaceShip!.position = CGPoint(x: Int(arc4random_uniform(UInt32(self.size.width))), y: Int(arc4random_uniform(UInt32(self.size.height))))
let trailEmmiter = SKEmitterNode(fileNamed: "trailParticle.sks")
trailEmmiter!.name = "trailNode"
trailEmmiter!.position = CGPointMake(((plane?.size.width)!/2), ((plane?.size.height)!/2))
trailEmmiter!.zPosition = 100 //much over everything else
spaceShip!.addChild(trailEmmiter!)
self.addChild(spaceShip!)
但这可行。 IE。它将我的烟雾轨迹放在屏幕上的随机位置。
let trailEmmiter2 = SKEmitterNode(fileNamed: "trailParticle.sks")
trailEmmiter2!.name = "trailNode"
trailEmmiter2!.position = CGPoint(x: Int(arc4random_uniform(UInt32(self.size.width))), y: Int(arc4random_uniform(UInt32(self.size.height))))
trailEmmiter2!.zPosition = 100 //much over everything else
self!.addChild(trailEmmiter2!)
怎样才能把烟雾的痕迹放在飞船后面?
最佳答案
首先创建SKEmitterNode的全局对象! 对于 XCode 6
var sparkEmmiter:SKEmitterNode!
创建发射器节点函数!
func addTrailToTwinkle(){
let sparkEmmitterPath = NSBundle.mainBundle().pathForResource("PierrePath", ofType: "sks")!
// PierrePath is the EmitterNode name!
sparkEmmiter = NSKeyedUnarchiver.unarchiveObjectWithFile(sparkEmmitterPath) as SKEmitterNode
sparkEmmiter.position = CGPointMake(15, -15.0)
sparkEmmiter.name = "PierrePath"
sparkEmmiter.zPosition = 22.0
sparkEmmiter.targetNode = self.scene
ship.addChild(sparkEmmiter)
//Here ship is the Target node. where Trail Added.
}
现在使用函数 addTrailToTwinkle() 在船后面创建轨迹。当想要创建踪迹时。
addTrailToTwinkle()
这里是发射器节点的属性!
关于ios - swift 如何将 SKEmitterNode 添加为 SKSpriteNode 后面的烟雾痕迹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37766286/