SKEmitterNode
A SKEmitterNode
объект является узлом, автоматически создающим и представляющим спрайты мелкой частицы. Спрайты частицы являются частными Набором Sprite — Ваша игра не может получить доступ к сгенерированным спрайтам. Например, это означает, что Вы не можете добавить формы физики к частицам. Эмиттерные узлы часто используются для создания дыма, огня, искр и других эффектов частицы.
Частица подобна SKSpriteNode
объект; это представляет текстурированное или нетекстурированное изображение, которое измерено, цветное, и смешивается в сцену. Однако частицы отличаются от спрайтов двумя важными способами:
Текстура частицы всегда расширяется унифицированно.
Частицы не представлены объектами в Наборе Sprite. Это означает, что Вы не можете выполнить связанные с узлом задачи на частицах, и при этом Вы не можете связать организации физики с частицами, чтобы заставить их взаимодействовать с другим содержанием. Несмотря на то, что нет никаких видимых частиц представления класса, добавленных эмиттерным узлом, можно думать о частице как о наличии свойств как любой другой объект.
Частицы являются чисто визуальными объектами, и их поведение полностью определяется эмиттерным узлом, создавшим их. Эмиттерный узел содержит много свойств для управления поведением частиц, включая которые это мечет икру:
Уровень рождаемости и время жизни частица. Можно также указать максимальное количество частиц, порожденных, прежде чем эмиттер выключает себя.
Начальные значения частицы, включая ее позицию, ориентацию, цвет и размер. Можно принять решение рандомизировать эти начальные значения.
Изменения для применения к частице в ее время жизни. Как правило, они указываются как уровень изменения в течение долгого времени. Например, Вы могли бы указать, что частица вращается на определенном уровне в радианах в секунду. Эмиттер автоматически обновляет данные частицы каждый кадр. В большинстве случаев можно также создать более сложные способы поведения с помощью последовательностей ключевого кадра. Например, Вы могли бы указать последовательность ключевого кадра для частицы так, чтобы это началось маленький, увеличилось к большему размеру, затем уменьшилось перед смертью.
Используйте редактора эмиттера частицы для экспериментирования с эмиттерами
В большинстве случаев Вы никогда не должны конфигурировать эмиттерный узел непосредственно в Вашей игре. Вместо этого Вы используете XCode для конфигурирования свойств эмиттерного узла. Поскольку Вы изменяете поведение эмиттерного узла, XCode сразу предоставляет Вам обновленный визуальный эффект. Когда завершенный, XCode архивирует сконфигурированный эмиттер. Затем во время выполнения Ваша игра использует этот архив для инстанцирования нового эмиттерного узла.
Используя XCode для создания эмиттерных узлов имеет несколько важных преимуществ:
Это - лучший способ изучить возможности эмиттерного класса.
Можно более быстро экспериментировать с новыми эффектами частицы и сразу видеть результаты.
Вы разделяете задачу разработки эффекта частицы от задачи программирования использования его. Ваши художники могут работать над новыми эффектами частицы, независимыми от Вашего игрового кода.
Для получения дополнительной информации об использовании XCode для создания эффектов частицы посмотрите Частицу Эмиттерный редактор Гуид.
Загрузка эффекта частицы от файла показывает, как загрузить эффект частицы, создававшийся XCode. Все эффекты частицы сохраняются с помощью стандартной архивации Какао механизмов, таким образом, код сначала создает путь к эффекту дыма, и затем загружает архив.
- (SKEmitterNode *) newSmokeEmitter
{
NSString *smokePath = [[NSBundle mainBundle] pathForResource:@"smoke" ofType:@"sks"];
SKEmitterNode *smoke = [NSKeyedUnarchiver unarchiveObjectWithFile:smokePath];
return smoke;
}
Вручную конфигурирующее создание частицы
Класс SKEmitterNode обеспечивает много свойств для конфигурирования поведения эмиттерного узла. Инспектор XCode устанавливает те же значения свойств. Можно также создать и сконфигурировать собственный эмиттер, или можно взять эмиттерный узел, создаваемый в Редакторе Эмиттера Частицы, загрузить его и изменить его значения свойств. Например, предположите на мгновение использование эффекта дыма в Загрузке эффекта частицы от файла для показа ущерба ракеты. Поскольку поставка наносит больше ущерба, Вы могли увеличить уровень рождаемости эмиттера для добавления большего количества дыма.
Когда эмиттерный узел находится в сцене, он испускает новые частицы. Вы используете следующие свойства для определения, сколько частиц это создает:
particleBirthRate
свойство указывает число частиц, которые эмиттер создает каждую секунду.numParticlesToEmit
свойство указывает, сколько частиц создается, прежде чем эмиттер выключает себя. Можно также сконфигурировать узел для испускания неограниченного количества частиц.
Когда частица создается, ее начальные значения свойств определяются свойствами эмиттера. Для каждого из свойств частицы эмиттерный класс объявляет до четырех свойств:
Среднее начальное значение для свойства.
Случайный диапазон для значений свойства. Каждый раз, когда новая частица испускается, новое случайное значение вычисляется в том диапазоне.
Уровень, на котором значение изменяется в течение долгого времени, также известный как скорость свойства. Не все свойства имеют свойство скорости.
Дополнительная последовательность ключевого кадра.
Полный список свойств раньше конфигурировал эмиттерный узел, описан в Ссылке класса SKEmitterNode.
Используя последовательность для изменения свойства масштаба частицы показывает, как Вы могли бы сконфигурировать эмиттер scale
свойство. Это - упрощенная версия узла xScale
и yScale
свойства, и определяют, насколько большой частица.
myEmitter.particleScale = 0.3;
myEmitter.particleScaleRange = 0.2;
myEmitter.particleScaleSpeed = -0.1;
Когда новая частица создается, ее значение масштаба является случайным числом от 0.2
к 0.4
. Значение масштаба тогда уменьшается на уровне 0.1
в секунду. Так, если определенная частица запустилась в среднем значении, 0.3
, это уменьшилось бы с 0.3
к 0
в течение 3
секунды.
Используя последовательности ключевого кадра для конфигурирования пользовательских скатов для свойства частицы
Последовательности ключевого кадра обеспечивают более сложные способы поведения для свойства частицы. Последовательность ключевого кадра указывает многократные точки во времени жизни частицы и указывает значение для свойства в каждой точке. Последовательность ключевого кадра тогда интерполирует значения между теми точками и использует их для моделирования значения свойства частицы.
Можно использовать последовательности ключевого кадра для реализации многих пользовательских способов поведения, включая:
Изменение значения свойства, пока это не достигает определенного значения.
Используя многократные различные значения свойств во время жизни частицы. Например, Вы могли бы увеличить стоимость свойства в одной части последовательности и уменьшить его в другом. Или при указании цветов Вы могли бы указать многократные цвета что циклы частицы через во время ее времени жизни.
Изменение значения свойства с помощью нелинейной кривой или шаговой функции.
Используя последовательность для изменения свойства масштаба частицы показывает, как Вы могли бы заменить код в Конфигурировании свойств масштаба частицы для использования последовательности. При использовании последовательности значения не рандомизируются. Вместо этого последовательность указывает все значения свойства. Каждое значение ключевого кадра включает объект значения и метку времени. Метки времени указаны в диапазоне от 0
к 1.0
, где 0
представляет рождение частицы и 1.0
представляет его смерть. Так, для этой последовательности частица начинается с масштабом 0.2
и увеличения к 0.7
одна четверть пути через последовательность. Три четверти пути через последовательность, это достигает своего минимального размера, 0.1
. Это остается в этом размере, пока это не умирает.
SKKeyframeSequence *scaleSequence = [[SKKeyframeSequence alloc] initWithKeyframeValues:@[@0.2,@0.7,@0.1] times:@[@0.0,@0.250,@0.75]];
myEmitter.particleScaleSequence = scaleSequence;
Добавление действий к частицам
Несмотря на то, что у Вас нет прямого доступа к частицам создаваемым Набором Sprite, можно указать действие, которое выполняют все частицы. Каждый раз, когда новая частица создается, эмиттер говорит частице выполнять то действие. Можно использовать действия для создания очень сложных способов поведения.
В целях использования действий с частицами можно обработать частицу, как будто это был спрайт. Это означает, что можно выполнить другие интересные приемы, такие как анимация текстур частицы.
Используя узлы Target для изменения места назначения частиц
Когда эмиттер создает частицы, они представляются как дочерние элементы эмиттерного узла. Это означает, что они наследовали характеристики эмиттерного узла, точно так же, как узлы делают. Например, при вращении эмиттерного узла позиции всех порожденных частиц повернуты также. В зависимости от какого эффекта Вы моделируете с эмиттером, это может не быть корректным поведением. Например, предположите использование эмиттерного узла для создания выхлопа из ракеты. Когда механизмы в полной записи, конус пламени должен выйти задняя часть поставки. Это легко моделируется с помощью частиц. Но если частицы представляются относительно поставки, когда поставка поворачивается, выхлоп собирается вращаться также. Это не выглядит правильным. То, что Вы действительно хотите, для частиц, которые будут порождены, но после того будут независимы от эмиттерного узла. Когда эмиттерный узел повернут, новые частицы получают новую ориентацию, и старые частицы поддерживают свою старую ориентацию. Вы делаете частицы независимыми от эмиттера путем указания целевого узла.
Используя целевой узел для перенаправления то, где частицы порождены, показывает, как сконфигурировать эффект выхлопа ракеты использовать целевой узел. Когда пользовательский класс узла спрайта инстанцирует выхлопного узла, он делает узел его дочерним элементом. Однако это перенаправляет частицы к сцене.
- (void) newExhaustNode
{
SKEmitterNode *emitter = [NSKeyedUnarchiver unarchiveObjectWithFile:[[NSBundle mainBundle] pathForResource:@"exhaust" ofType:@"sks"]];
// Place the emitter at the rear of the ship.
emitter.position = CGPointMake(0,-40);
emitter.name = @"exhaust";
// Send the particles to the scene.
emitter.targetNode = self.scene;
[self addChild:emitter];
}
Когда эмиттер имеет целевой узел, он вычисляет позицию, скорость и ориентацию частицы, точно как будто это был дочерний элемент узла спрайта. Это означает, что, если спрайт поставки повернут, выхлопная ориентация автоматически повернута также. Однако в данный момент начальные значения новой частицы вычисляются, значения преобразовываются в систему координат целевого узла. После того они были бы только затронуты изменениями в целевом узле.
Подсказки по эмиттеру частицы
Эмиттеры частицы в Наборе Sprite являются одним из самых мощных инструментов для создания визуальных эффектов. Однако используемый неправильно, эмиттеры частицы могут быть узким местом в разработке и реализации Вашего приложения. Рассмотрите следующие советы:
Используйте XCode, чтобы создать и протестировать Ваши эффекты частицы, затем загрузите архивы в Вашей игре.
Скорректируйте эмиттерные свойства экономно в Вашем игровом коде. Как правило, Вы делаете это для указания свойств, которые не могут быть указаны в инспекторе XCode или к свойствам элементов управления в игровой логике.
Частицы являются более дешевыми, чем узел спрайта, но они все еще имеют наверху! Попытайтесь сохранить число частиц на экране к минимуму путем создания эмиттеров частицы с низким уровнем рождаемости и указания короткого времени жизни для частиц. Например, вместо того, чтобы создать сотни или тысячи частиц в секунду, сократите уровень рождаемости и увеличьте размер частиц немного. Часто, можно создать эффекты с меньшим количеством частиц, но тем же сетевым визуальным появлением.
Используйте действия с частицами только, когда не будет другого решения. Если эмиттер частицы также имеет высокий уровень рождаемости, выполнение действий с отдельными частицами является потенциально очень дорогим, особенно.
Присвойте целевой узел каждый раз, когда частицы должны быть независимы от эмиттерного узла после того, как они порождены. Если эмиттерный узел перемещается или вращается в сцене, для примеров частицы должны быть независимыми.
Рассмотрите удаление эмиттера частицы от сцены, когда это не будет видимо на экране. Добавьте его непосредственно перед тем, как это становится видимым.
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCoding
-
NSCopying
-
NSObjectProtocol
-
Печатаемый
-
NSCoding
-
NSCopying
-
NSObject
Оператор импорта
Swift
import SpriteKit
Objective C
@import SpriteKit;
Доступность
Доступный в OS X v10.9 и позже.
-
particleBirthRate particleBirthRate
СвойствоУровень, на котором создаются новые частицы.
Объявление
Swift
var particleBirthRate: CGFloat
Objective C
@property(nonatomic) CGFloat particleBirthRate
Обсуждение
Число частиц, сгенерированных эмиттером каждую секунду. Значение по умолчанию
0.0
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Совершенствует эмиттерное моделирование частицы.
Объявление
Swift
func advanceSimulationTime(_
sec
: NSTimeInterval)Objective C
- (void)advanceSimulationTime:(NSTimeInterval)
sec
Параметры
sec
Число секунд для моделирования.
Обсуждение
После того, как добавленный к сцене, эмиттерный узел автоматически создает новые частицы в новых кадрах анимации. Этот метод позволяет Вам искусственно совершенствовать моделирование эмиттера, заставляя его генерировать новые частицы и усовершенствовать любые существующие частицы. Наиболее популярный способ использования этого метода должен предварительно заполнить эмиттерный узел с частицами после того, как это будет сначала добавлено к сцене.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
numParticlesToEmit numParticlesToEmit
СвойствоЧисло частиц эмиттер должно испустить перед остановкой.
Объявление
Swift
var numParticlesToEmit: Int
Objective C
@property(nonatomic) NSUInteger numParticlesToEmit
Обсуждение
Значение по умолчанию
0
, который указывает, что эмиттер создает бесконечный поток частиц. Если ненулевое значение предоставлено, то эмиттер прекращает генерировать частицы после того, как это создало конкретное количество частиц.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Удаляет все существующие частицы и перезапускает моделирование.
Объявление
Swift
func resetSimulation()
Objective C
- (void)resetSimulation
Обсуждение
Сброс моделирования очищает внутреннее состояние моделирования.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
targetNode targetNode
СвойствоЦелевой узел, представляющий частицы эмиттера.
Объявление
Swift
weak var targetNode: SKNode?
Objective C
@property(nonatomic, weak) SKNode *targetNode
Обсуждение
Значение по умолчанию
nil
, что означает, что частицы обрабатываются, как будто они были дочерними элементами эмиттерного узла. В будущих кадрах анимации позиции частицы затронуты свойствами эмиттерного узла. При указании различного целевого узла начальные свойства новых частиц вычисляются на основе свойств эмиттерного узла, но в будущих кадрах анимации обрабатываются частицы, как будто они были дочерними элементами целевого узла.Например, предположите, что у Вас есть эмиттерный узел как у дочернего элемента узла сцены, и узел поворачивается путем изменения
zRotation
свойство. Поведение эмиттерного узла изменяется на основе значения целевого узла:Если
targetNode
свойствоnil
, тогда позиции и ранее сгенерированных и новых частиц повернуты.Если
targetNode
свойство указывает на узел сцены, тогда новые частицы корректируются, когда эмиттерный узел вращается, но ранее сгенерированные частицы не.
Путем порождения частиц в узле сцены у них есть поведение, независимое от свойств эмиттера.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
particleLifetime particleLifetime
СвойствоСреднее время жизни частицы, в секундах.
Объявление
Swift
var particleLifetime: CGFloat
Objective C
@property(nonatomic) CGFloat particleLifetime
Обсуждение
Значение по умолчанию
0.0
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
Диапазон позволенных случайных значений для времени жизни частицы.
Объявление
Swift
var particleLifetimeRange: CGFloat
Objective C
@property(nonatomic) CGFloat particleLifetimeRange
Обсуждение
Значение по умолчанию
0.0
. Если ненулевой, время жизни каждой частицы случайным образом определяется и может варьироваться плюс или минус половина значения диапазона.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
particlePosition particlePosition
СвойствоСредняя стартовая позиция для частицы.
Объявление
Swift
var particlePosition: CGPoint
Objective C
@property(nonatomic) CGPoint particlePosition
Обсуждение
Значение по умолчанию
(0.0,0.0)
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
Диапазон позволенных случайных значений для позиции частицы.
Объявление
Swift
var particlePositionRange: CGVector
Objective C
@property(nonatomic) CGVector particlePositionRange
Обсуждение
Значение по умолчанию
(0.0,0.0)
. Если компонент является ненулевым, тот же компонент позиции частицы случайным образом определяется и может варьироваться плюс или минус половина значения диапазона.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
particleZPosition particleZPosition
СвойствоСредняя стартовая глубина частицы.
Объявление
Swift
var particleZPosition: CGFloat
Objective C
@property(nonatomic) CGFloat particleZPosition
Обсуждение
Значение по умолчанию
0.0
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
Диапазон позволенных случайных значений для глубины частицы.
Объявление
Swift
var particleZPositionRange: CGFloat
Objective C
@property(nonatomic) CGFloat particleZPositionRange
Обсуждение
Значение по умолчанию
0.0
. Если ненулевой, z позиция каждой частицы случайным образом определяется и может варьироваться плюс или минус половина значения диапазона.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
particleSpeed particleSpeed
СвойствоСредняя начальная скорость новой частицы в точках в секунду.
Обсуждение
Значение по умолчанию
0.0
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
particleSpeedRange particleSpeedRange
СвойствоДиапазон позволенных случайных значений для начальной скорости частицы.
Объявление
Swift
var particleSpeedRange: CGFloat
Objective C
@property(nonatomic) CGFloat particleSpeedRange
Обсуждение
Значение по умолчанию
0.0
. Если ненулевой, скорость каждой частицы случайным образом определяется и может варьироваться плюс или минус половина значения диапазона.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
emissionAngle emissionAngle
СвойствоСреднее начальное направление частицы, выраженной как угол в радианах.
Обсуждение
Значение по умолчанию
0.0
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
emissionAngleRange emissionAngleRange
СвойствоДиапазон позволенных случайных значений для начальной скорости частицы, выраженной как угол в радианах.
Объявление
Swift
var emissionAngleRange: CGFloat
Objective C
@property(nonatomic) CGFloat emissionAngleRange
Обсуждение
Значение по умолчанию
0.0
. Если ненулевой, угол испускания каждой частицы случайным образом определяется и может варьироваться плюс или минус половина значения диапазона.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
xAcceleration xAcceleration
СвойствоУскорение для применения к горизонтальной скорости частицы.
Обсуждение
Это свойство полезно для моделирования ветра, силы тяжести и других эффектов. Это унифицированно применяется ко всем частицам, сгенерированным эмиттером.
Значение по умолчанию
0.0
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
yAcceleration yAcceleration
СвойствоУскорение для применения к вертикальной скорости частицы.
Обсуждение
Это свойство полезно для моделирования ветра, силы тяжести и других эффектов. Это унифицированно применяется ко всем частицам, сгенерированным эмиттером.
Значение по умолчанию
0.0
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Скорость, на которой изменяется глубина частицы.
Объявление
Swift
var particleZPositionSpeed: CGFloat
Objective C
@property(nonatomic) CGFloat particleZPositionSpeed
Обсуждение
Значение по умолчанию
0.0
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.10 и позже.
См. также
-
particleRotation particleRotation
СвойствоСреднее начальное вращение частицы, выраженной как угол в радианах.
Объявление
Swift
var particleRotation: CGFloat
Objective C
@property(nonatomic) CGFloat particleRotation
Обсуждение
Значение по умолчанию
0.0
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
Диапазон позволенных случайных значений для начального вращения частицы, выраженного как угол в радианах.
Объявление
Swift
var particleRotationRange: CGFloat
Objective C
@property(nonatomic) CGFloat particleRotationRange
Обсуждение
Значение по умолчанию
0.0
. Если ненулевой, начальное вращение каждой частицы случайным образом определяется и может варьироваться плюс или минус половина значения диапазона.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
Скорость, на которой частица вращается, выраженный в радианах в секунду.
Объявление
Swift
var particleRotationSpeed: CGFloat
Objective C
@property(nonatomic) CGFloat particleRotationSpeed
Обсуждение
Это универсально для всех частиц, сгенерированных эмиттером. Значение по умолчанию
0.0
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Последовательность раньше указывала масштабный коэффициент частицы в ее время жизни.
Объявление
Swift
var particleScaleSequence: SKKeyframeSequence?
Objective C
@property(nonatomic, retain) SKKeyframeSequence *particleScaleSequence
Обсуждение
Значение по умолчанию
nil
. Если не -nil
значение указано, тогдаparticleScale
,particleScaleRange
, иparticleScaleSpeed
свойства проигнорированы. Вместо этого последовательность используется для указания масштабного коэффициента.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
particleScale particleScale
СвойствоСредний начальный масштабный коэффициент частицы.
Обсуждение
Значение по умолчанию
1.0
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
particleScaleRange particleScaleRange
СвойствоДиапазон позволенных случайных значений для начального масштаба частицы.
Объявление
Swift
var particleScaleRange: CGFloat
Objective C
@property(nonatomic) CGFloat particleScaleRange
Обсуждение
Значение по умолчанию
0.0
. Если ненулевой, начальный масштаб каждой частицы случайным образом определяется и может варьироваться плюс или минус половина значения диапазона.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
particleScaleSpeed particleScaleSpeed
СвойствоУровень, на котором масштабный коэффициент частицы изменяется в секунду.
Объявление
Swift
var particleScaleSpeed: CGFloat
Objective C
@property(nonatomic) CGFloat particleScaleSpeed
Обсуждение
Значение по умолчанию
0.0
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
particleTexture particleTexture
СвойствоТекстура для использования для рендеринга частицы.
Объявление
Swift
var particleTexture: SKTexture?
Objective C
@property(nonatomic, retain) SKTexture *particleTexture
Обсуждение
Частица представляется, как будто это был a
SKSpriteNode
объект. Значение по умолчаниюnil
, что означает, что цветной прямоугольник используется для рисования частицы. Если не -nil
значение указано, тогда текстура является цветной и раньше рисовала частицы.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
particleSize particleSize
СвойствоСтартовый размер каждой частицы.
Обсуждение
Значение по умолчанию
CGSizeZero
. Если установлено в значение по умолчанию, размер текстуры, сохраненной вparticleTexture
свойство используется для определения размера частицы. Если текстура не была присвоена, необходимо установить это свойство в непустой размер.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
Последовательность раньше указывала компоненты цвета частицы в ее время жизни.
Объявление
Swift
var particleColorSequence: SKKeyframeSequence?
Objective C
@property(nonatomic, retain) SKKeyframeSequence *particleColorSequence
Обсуждение
Значение по умолчанию
nil
. Если не -nil
значение указано, тогдаparticleColor
,particleColorAlphaRange
,particleColorRedRange
,particleColorGreenRange
,particleColorBlueRange
,particleColorAlphaSpeed
,particleColorRedSpeed
,particleColorGreenSpeed
, иparticleColorBlueSpeed
свойства проигнорированы. Вместо этого последовательность используется для указания цвета частицы.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
particleColor particleColor
СвойствоСредний начальный цвет для частицы.
Объявление
Swift
var particleColor: NSColor!
Objective C
@property(nonatomic, retain) NSColor *particleColor
Обсуждение
Значение по умолчанию
[SKColor clearColor]
.Цвет частицы смешивается с текстурой с помощью ее фактора совмещенного цвета. Посмотрите Определение, Как Текстура Частицы Смешивается с Цветом Частицы.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Диапазон позволенных случайных значений для альфа-компонента начального цвета частицы.
Объявление
Swift
var particleColorAlphaRange: CGFloat
Objective C
@property(nonatomic) CGFloat particleColorAlphaRange
Обсуждение
Значение по умолчанию
0.0
. Если ненулевой, стартовый альфа-компонент цвета частицы случайным образом определяется и может варьироваться плюс или минус половина значения диапазона.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
Диапазон позволенных случайных значений для синего компонента начального цвета частицы.
Объявление
Swift
var particleColorBlueRange: CGFloat
Objective C
@property(nonatomic) CGFloat particleColorBlueRange
Обсуждение
Значение по умолчанию
0.0
. Если ненулевой, стартовый синий компонент цвета частицы случайным образом определяется и может варьироваться плюс или минус половина значения диапазона.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
Диапазон позволенных случайных значений для зеленого компонента начального цвета частицы.
Объявление
Swift
var particleColorGreenRange: CGFloat
Objective C
@property(nonatomic) CGFloat particleColorGreenRange
Обсуждение
Значение по умолчанию
0.0
. Если ненулевой, стартовый зеленый компонент цвета частицы случайным образом определяется и может варьироваться плюс или минус половина значения диапазона.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
Диапазон позволенных случайных значений для красного компонента начального цвета частицы.
Объявление
Swift
var particleColorRedRange: CGFloat
Objective C
@property(nonatomic) CGFloat particleColorRedRange
Обсуждение
Значение по умолчанию
0.0
. Если ненулевой, стартовый красный компонент цвета частицы случайным образом определяется и может варьироваться плюс или минус половина значения диапазона.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
Уровень, на котором альфа-компонент цвета частицы изменяется в секунду.
Объявление
Swift
var particleColorAlphaSpeed: CGFloat
Objective C
@property(nonatomic) CGFloat particleColorAlphaSpeed
Обсуждение
Значение по умолчанию
0.0
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Уровень, на котором синий компонент цвета частицы изменяется в секунду.
Объявление
Swift
var particleColorBlueSpeed: CGFloat
Objective C
@property(nonatomic) CGFloat particleColorBlueSpeed
Обсуждение
Значение по умолчанию
0.0
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Уровень, на котором зеленый компонент цвета частицы изменяется в секунду.
Объявление
Swift
var particleColorGreenSpeed: CGFloat
Objective C
@property(nonatomic) CGFloat particleColorGreenSpeed
Обсуждение
Значение по умолчанию
0.0
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Уровень, на котором красный компонент цвета частицы изменяется в секунду.
Объявление
Swift
var particleColorRedSpeed: CGFloat
Objective C
@property(nonatomic) CGFloat particleColorRedSpeed
Обсуждение
Значение по умолчанию
0.0
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Последовательность раньше указывала цветной фактор смешения частицы в ее время жизни.
Объявление
Swift
var particleColorBlendFactorSequence: SKKeyframeSequence?
Objective C
@property(nonatomic, retain) SKKeyframeSequence *particleColorBlendFactorSequence
Обсуждение
Значение по умолчанию
nil
. Если не -nil
значение указано, тогдаparticleColorBlendFactor
,particleColorBlendFactorRange
, иparticleColorBlendFactorSpeed
свойства проигнорированы. Вместо этого последовательность используется для указания цветного фактора смешения.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Среднее начальное значение для цветного фактора смешения.
Объявление
Swift
var particleColorBlendFactor: CGFloat
Objective C
@property(nonatomic) CGFloat particleColorBlendFactor
Обсуждение
Значение по умолчанию
0.0
, что означает, что текстура использована как есть, игнорируя цвет частицы. Иначе, текстура смешивается с цветом.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
Диапазон позволенных случайных значений для начального цвета частицы смешивает фактор.
Объявление
Swift
var particleColorBlendFactorRange: CGFloat
Objective C
@property(nonatomic) CGFloat particleColorBlendFactorRange
Обсуждение
Значение по умолчанию
0.0
. Если ненулевой, начальный цветной фактор смешения каждой частицы случайным образом определяется и может варьироваться плюс или минус половина значения диапазона.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
Уровень, на котором цветной фактор смешения изменяется в секунду.
Объявление
Swift
var particleColorBlendFactorSpeed: CGFloat
Objective C
@property(nonatomic) CGFloat particleColorBlendFactorSpeed
Обсуждение
Значение по умолчанию
0.0
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
particleBlendMode particleBlendMode
СвойствоРежим наложения раньше смешивал частицы в кадровый буфер.
Объявление
Swift
var particleBlendMode: SKBlendMode
Objective C
@property(nonatomic) SKBlendMode particleBlendMode
Обсуждение
Значение по умолчанию
SKBlendModeAlpha
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Последовательность раньше указывала альфа-значение частицы в ее время жизни.
Объявление
Swift
var particleAlphaSequence: SKKeyframeSequence?
Objective C
@property(nonatomic, retain) SKKeyframeSequence *particleAlphaSequence
Обсуждение
Значение по умолчанию
nil
. Если не -nil
значение указано, тогдаparticleAlpha
,particleAlphaRange
, иparticleAlphaSpeed
свойства проигнорированы. Вместо этого последовательность используется для указания альфа-значения.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
particleAlpha particleAlpha
СвойствоСредняя стартовая альфа оценивает за частицу.
Обсуждение
Альфа-значение частицы эквивалентно
alpha
свойствоSKNode
класс. Альфа-компонент цвета, следующего из текстуры и состояния смешения цветов, умножается на альфа-значение частицы. Получающийся цвет частицы тогда смешивается с кадровым буфером родителя. Значение по умолчанию1.0
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
particleAlphaRange particleAlphaRange
СвойствоДиапазон позволенных случайных значений для стартового альфа-значения частицы.
Объявление
Swift
var particleAlphaRange: CGFloat
Objective C
@property(nonatomic) CGFloat particleAlphaRange
Обсуждение
Значение по умолчанию
0.0
. Если ненулевой, начальное альфа-значение каждой частицы случайным образом определяется и может варьироваться плюс или минус половина значения диапазона.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
particleAlphaSpeed particleAlphaSpeed
СвойствоУровень, на котором альфа-значение частицы изменяется в секунду.
Объявление
Swift
var particleAlphaSpeed: CGFloat
Objective C
@property(nonatomic) CGFloat particleAlphaSpeed
Обсуждение
Значение по умолчанию
0.0
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
particleAction particleAction
СвойствоУказывает действие, выполняемое новыми частицами.
Объявление
Swift
@NSCopying var particleAction: SKAction?
Objective C
@property(nonatomic, copy) SKAction *particleAction
Обсуждение
Добавление сложных действий к частицам может сильно повлиять на производительность эмиттера частицы. Кроме того, потому что частицы не существуют как явный узел, которым можно управлять, Вы не можете удалить действия из существующих частиц.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
fieldBitMask fieldBitMask
СвойствоМаска, определяющая, какие категории полей физики могут проявить силы на частицах.
Объявление
Swift
var fieldBitMask: UInt32
Objective C
@property(nonatomic, assign) uint32_t fieldBitMask
Обсуждение
Когда частица в области a
SKFieldNode
объект, тот полевой узелcategoryBitMask
свойство по сравнению с эмиттеромfieldBitMask
свойство путем выполнения логической операции И. Если результатом является ненулевое значение, то полевой эффект узла применяется к частице, как будто это имело организацию физики. Организация физики, как предполагается, имеет amass
из1.0
и acharge
из1.0
Значение по умолчанию
0x00000000
(все очищенные биты).Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.10 и позже.
-
Пользовательская программа построения теней раньше определяла, как представляются частицы.
Обсуждение
Значение по умолчанию
nil
. Если программа построения теней указана, то программа построения теней используется для определения цветов вывода для любой из частиц эмиттера.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.10 и позже.