Я пытаюсь объединить мои узлы эмиттеров частиц. Я повторно использую их, когда они нужны, удаляя их со своего старого родительского узла и добавляя их в качестве дочернего элемента SKSpriteNode в новое место. Я оставляю положение узла эмиттера равным 0,0, поэтому эмиттер должен появиться в центре нового родительского спрайт-узла.Невозможно повторно использовать узел эмиттера с разными родителями в iOS9
Излучатели правильно отображают первый раз, когда они добавляются в качестве дочернего элемента в узел спрайта, но просто не отображаются при последующих попытках. Это все прекрасно работало в iOS8 и нарушается только в iOS9 (кажется, как много эмиттера частиц ошибок в iOS9?)
Вот простой пример моего кода, когда мне нужно поместить эффект частиц:
if emitter.parent != nil {
emitter.removeFromParent()
}
newLocationSpriteNode.addChild(emitter)
emitter.resetSimulation()
Это отлично работало в iOS8 - я мог бы повторно использовать свои эмиттерные узлы в новых местах. В iOS9 узлы появляются только при первом запуске этого кода и никогда больше не появляются. У вас есть представление о том, как я могу обойти эту проблему? Благодаря!
может быть ошибка, которая была в 8, который был зафиксирован в 9, вы сбросе эмиттера частиц правильно? является ли эмиттер назначенным родительским сторонам? При сбросе ios 9 теперь останавливает излучатель, и вам нужно заставить его работать снова? Просто некоторые вещи, чтобы рассмотреть – Knight0fDragon
Привет Рыцарь - спасибо за мысли. Поэтому я тестировал это с бесконечным эмиттером и без сброса и той же самой проблемы. На самом деле, похоже, вы даже не можете удалить излучатель частиц из узла, а затем снова добавить его в тот же узел. Как только вы удаляете излучатель частиц как дочерний узел узла, кажется, что вы никогда не сможете использовать его снова. – Stephen
Вы получаете сообщение об ошибке или просто ничего не показывает? – Knight0fDragon