Я создал шаблонный файл частиц в своем проекте и хочу использовать его с различными изображениями текстур.SKEmitterNode с разными временами моделирования
Я создал это и использовать этот метод ...
func addEmitterWithTexture(image: UIImage, size: CGSize, advanceTime: NSTimeInterval, scene: SKScene) {
let emitter = SKEmitterNode(fileNamed: "MyParticle")!
scene.addChild(emitter)
emitter.particleTexture = SKTexture(image: image)
emitter.position = CGPoint(x: size.width * 0.5, y: size.height * 0.5)
emitter.particlePositionRange = CGVector(dx: size.width, dy: size.height)
emitter.advanceSimulationTime(advanceTime)
emitter.zPosition = 3.0
}
Я хотел бы изображения, чтобы совать в разное время, поэтому я использую advanceSimulationTime
. Но это не похоже на эффект. Все изображения используют одно и то же время моделирования.
Я предполагаю, что это связано с тем, что время моделирования на родительском?
Редактировать Хм ... это, похоже, не так.
Интересно, все ли эмиттеры находятся на глобальном таймере моделирования? В таком случае, есть ли способ запустить излучатели в разное время?
Это тот случай, или я делаю что-то неправильно?
В конце концов я обошел его, используя waitAction на сцене и добавляя излучатели в действие runBlock после ожидания.
все излучатели работают в свое время, когда они запущены – Knight0fDragon
@ Knight0fDragon это то, что я предположил, но это не обновление их индивидуально. Я должен был добавить их в разное время, чтобы получить эффект, который я хотел. Увеличение времени моделирования приводит к тому, что все они будут направлены на одну и ту же сумму. Это сцена внутри SKView в приложении, отличном от SpriteKit, так что, возможно, это повлияло на что-то? – Fogmeister
Я пишу вам ответ – Knight0fDragon