ios - swift 如何将 SKEmitterNode 添加为 SKSpriteNode 后面的烟雾痕迹?

标签 ios swift sprite-kit skspritenode skemitternode

我正试图在我的宇宙飞船后面放一条烟。我将烟迹设计为发射器节点,但我似乎无法将发射器连接到宇宙飞船上。

我不明白为什么这不起作用。 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()

这里是发射器节点的属性!

Here Is the image of EmitterNode Properties

关于ios - swift 如何将 SKEmitterNode 添加为 SKSpriteNode 后面的烟雾痕迹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37766286/

相关文章:

ios - UICollectionView 和补充 View 崩溃

ios - 奇怪的 SpriteKit 循环错误

swift - 如何删除最后放置的子节点?

swift - 当玩家与物体碰撞时如何添加声音效果?

ios - Facebook iOS SDK 3.1 认证后不返回应用

ios - 在 Swift 中以编程方式调用 UITabBarController 委托(delegate)

iphone - 如何为特定文件添加 ARC?

ios - Xcode 错误 - UIView 中的预期声明

sprite-kit - 尝试从WITHIN代码中更改我的SKEmitterNode发出的粒子的颜色

ios - SpriteKit 异常 'PKPhysicsBody' 崩溃