的路徑這是在XCode中SKEmitter編輯器(我想做到這一點在iPhone上)動畫:無法使粒子按照spriteKit
這是iPhone上的動畫(我不希望這個動畫):
使用此代碼:
let sparkEmmiter = SKEmitterNode(fileNamed: "fireflies.sks")
self.addChild(sparkEmmiter) // self is a SKScene
var circle: CGPathRef? = nil
circle = CGPathCreateWithEllipseInRect(CGRectMake(400, 200, 200, 200), nil)
let followTrack = SKAction.followPath(circle!, asOffset: false, orientToPath: true, duration: 3.0)
let followTrackForever = SKAction.repeatActionForever(followTrack)
//sparkEmmiter.runAction(followTrackForever)
sparkEmmiter.particleAction = followTrackForever;
這是發射器設置:
我參照本question嘗試都runAction和particleAction,但我希望它不工作...
- --------------- 更新 -------------------------------- --------------
試過hamobi提到的解決方案(仍然不起作用):
//If I were you:
// 1) I'd make a sprite and
let texture = SKTexture(imageNamed: "spark")
let mySprite = SKSpriteNode(texture: texture)
self.addChild(mySprite)
// 2) add the emitter in your first example as a child.
let sparkEmmiter = SKEmitterNode(fileNamed: "fireflies.sks")
mySprite.addChild(sparkEmmiter)
// 3) I'd set the emitters targetNode to the scene.
sparkEmmiter.targetNode = self
// 4) Then I'd just animate the sprite itself in an arc.
var circle: CGPathRef? = nil
circle = CGPathCreateWithEllipseInRect(CGRectMake(400, 200, 200, 200), nil)
let followTrack = SKAction.followPath(circle!, asOffset: false, orientToPath: true, duration: 3.0)
let followTrackForever = SKAction.repeatActionForever(followTrack)
//sparkEmmiter.runAction(followTrackForever)
sparkEmmiter.particleAction = followTrackForever;
----------------- 更新2 ------------------ ----------------------------
Got it! THX到hamobi:d是這樣的結果:d:d
嗨@hamobi THX的回答粒子,我已經試過遵循您的建議,但仍無法解決它...你可以請看看我的代碼上面,在更新行下... – user1872384 2015-04-01 05:26:44
明白了!非常感謝你......之前被particleAction弄糊塗了...... – user1872384 2015-04-01 06:00:08