SKFieldNode
A SKFieldNode применяет эффекты физики к организациям физики в определенной части сцены.
Существует много различных видов полевых узлов, которые могут быть созданы, каждый с различными эффектами. Раздел Creating Field Nodes перечисляет типы поля, можно создать использование Набор Sprite, включая тип, позволяющий Вам применять пользовательские силы к организациям физики. Инстанцируйте надлежащего вида полевого узла и затем добавьте его к дереву узла сцены.
Когда сцена моделирует эффекты физики, полевой узел применяет свой эффект к организации физики, пока следующими вещами является истина:
Полевой узел находится в дереве узла сцены.
Полевой узел
enabledсвойствоYEStrue.Организация физики присоединена к узлу, который находится в дереве узла сцены.
Организация физики расположена в полевой области узла (см.
region).Организация физики не расположена в области другого полевого узла чей
exclusiveсвойство установлено вYEStrue.Логическая операция И между полевым узлом
categoryBitMaskсвойство и организация физикиfieldBitMaskсвойство приводит к ненулевому значению.
Соответствует
-
AnyObject -
CVarArgType -
Сопоставимый -
Hashable -
NSCoding -
NSCopying -
NSObjectProtocol -
Печатаемый -
NSCoding -
NSCopying -
NSObject
Оператор импорта
Swift
import SpriteKit
Objective C
@import SpriteKit;
Доступность
Доступный в OS X v10.10 и позже.
-
Создает полевой узел, применяющий силу, сопротивляющуюся движению организаций физики.
Возвращаемое значение
Новый полевой узел перетаскивания.
Обсуждение
Сила применяется в противоположном направлении организации физики
velocityсвойство и имеет величину, пропорциональную полюstrengthсвойство и скорость организации физики. (Закон Стоука)Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
Создает полевой узел, применяющий электрическую силу, пропорциональную электрическому заряду организаций физики. Это поле моделирует первую часть уравнения Лоренца.
Объявление
Swift
class func electricField() -> SKFieldNodeObjective C
+ (SKFieldNode *)electricFieldВозвращаемое значение
Новый узел электрического поля.
Обсуждение
Сила указывает на полевую позицию узла и имеет величину, пропорциональную полю
strengthсвойство и организация физикиchargeсвойство.falloffсвойство узла электрического поля установлено по умолчанию в2.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
Создает полевой узел, ускоряющий организации физики в определенном направлении.
Объявление
Objective C
+ (SKFieldNode *)linearGravityFieldWithVector:(vector_float3)directionПараметры
directionНаправление и величина силы тяготения. Значения представляют ускорение поля в метрах, в секунду придал квадратную форму. Например, для моделирования силы тяжести земли указать
(0, -9.8).Возвращаемое значение
Новый линейный полевой узел силы тяжести.
Обсуждение
Если полевой узел повернут, направление его поля силы тяжести также повернуто. Расчетная сила пропорциональна массе организации физики (подразумевать, что ускорение применилось ко всем затронутым организациям физики, константа).
Оператор импорта
Objective C
@import SpriteKit;Доступность
Доступный в OS X v10.10 и позже.
-
Создает полевой узел, применяющий магнитную силу на основе скорости и электрического заряда организаций физики. Это поле моделирует вторую часть уравнения Лоренца.
Объявление
Swift
class func magneticField() -> SKFieldNodeObjective C
+ (SKFieldNode *)magneticFieldВозвращаемое значение
Новый узел магнитного поля.
Обсуждение
Сила, сгенерированная этим полем, направлена на строку, определяющуюся путем вычисления векторного произведения между направлением организация физики
velocityсвойство и строка, прослеженная между полевым узлом и организацией физики. Сила имеет величину, пропорциональную полюstrengthсвойство и организация физикиchargeиvelocityсвойства.falloffсвойство узла магнитного поля установлено по умолчанию в2.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
Создает полевой узел, применяющий рандомизированное ускорение к организациям физики. Используйте шумовое поле для моделирования эффектов, таких как светлячки или снег.
Объявление
Swift
class func noiseFieldWithSmoothness(_smoothness: CGFloat, animationSpeedspeed: CGFloat) -> SKFieldNodeПараметры
smoothnessГладкость шума раньше генерировала силы. Этот параметр должен быть значением между
0.0и1.0, где1.0представляет универсальную гладкость.speedСкорость, на которой должно измениться шумовое поле. Значение
0.0средние значения, которые поле не должно анимировать вообще.Возвращаемое значение
Новый шумовой полевой узел.
Обсуждение
Ускорение пропорционально полевой силе в псевдослучайном направлении. Расчетная сила пропорциональна массе организации физики (подразумевать, что ускорение применилось ко всем затронутым организациям физики, константа).
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
Создает полевой узел, ускоряющий организации физики к полевому узлу.
Объявление
Swift
class func radialGravityField() -> SKFieldNodeObjective C
+ (SKFieldNode *)radialGravityFieldВозвращаемое значение
Новый радиальный полевой узел силы тяжести.
Обсуждение
Сила поля измеряется, ускорение поля в метрах в секунду придало квадратную форму. Положительное число указывает, что организация ускоряется к полевому узлу. Расчетная сила пропорциональна массе организации физики (подразумевать, что ускорение применилось ко всем затронутым организациям физики, константа).
falloffсвойство радиального полевого узла силы тяжести установлено по умолчанию в2.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
Создает полевой узел, применяющий весеннюю силу, вытягивающую организации физики к полевому узлу.
Возвращаемое значение
Новый пружинный полевой узел.
Обсуждение
Сила поля измеряет силу пружины. Положительное число указывает, что организация ускоряется к полевому узлу.
falloffсвойство пружинного полевого узла установлено по умолчанию в1.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
Создает полевой узел, применяющий рандомизированное ускорение к организациям физики. Величина ускорения пропорциональна скорости организации.
Объявление
Swift
class func turbulenceFieldWithSmoothness(_smoothness: CGFloat, animationSpeedspeed: CGFloat) -> SKFieldNodeПараметры
smoothnessГладкость шума раньше генерировала силы. Этот параметр должен быть значением между
0.0и1.0, где1.0представляет универсальную гладкость.speedСкорость, на которой должно измениться шумовое поле. Значение
0.0средние значения, которые поле не должно анимировать вообще.Возвращаемое значение
Новый полевой узел турбулентности.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
Создает полевой узел, устанавливающий скорость организаций физики, вводящих область узла. Значение определяется поиском текстуры на основе расположения организации физики относительно узла.
Объявление
Swift
class func velocityFieldWithTexture(_velocityTexture: SKTexture) -> SKFieldNodeObjective C
+ (SKFieldNode *)velocityFieldWithTexture:(SKTexture *)velocityTextureПараметры
velocityTextureНормальная текстура раньше указывала скорости в различных точках в поле.
Возвращаемое значение
Новый скоростной полевой узел.
Обсуждение
Когда организация физики затронута, ее новая скорость в каждом кадре вычисляется путем выполнения поиска текстуры (обрабатывающий значение как вектор нормали) и затем умножающий тот вектор силой поля. Поле имеет неявный размер (область), равная размеру текстуры; организации физики вне этой области незатронуты полевым узлом.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
См. также
-
Создает полевой узел, дающий организациям физики постоянную скорость.
Объявление
Objective C
+ (SKFieldNode *)velocityFieldWithVector:(vector_float3)velocityVectorПараметры
velocityVectorСкорость, которую будут иметь любые затронутые организации физики.
Возвращаемое значение
Новый скоростной полевой узел.
Оператор импорта
Objective C
@import SpriteKit;Доступность
Доступный в OS X v10.10 и позже.
См. также
-
Создает полевой узел, применяющий перпендикулярную силу к организациям физики.
Возвращаемое значение
Новый узел вихревого поля.
Обсуждение
Сила поля измеряется, ускорение поля в метрах в секунду придало квадратную форму (подразумевать, что подобный силе тяжести, все организации физики затронуты одинаково). Организация физики ускоряется вдоль перпендикуляра строки между полевой позицией узла и позицией организации физики. Положительная полевая сила указывает, что организация ускоряется в направлении против часовой стрелки.
falloffсвойство узла вихревого поля установлено по умолчанию в2.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
Создает полевой узел, вычисляющий и применяющий пользовательскую силу к организации физики.
Объявление
Objective C
+ (SKFieldNode *)customFieldWithEvaluationBlock:(SKFieldForceEvaluator)blockПараметры
blockПользовательский блок, который будет выполняться, когда организация физики затронута полем. Ваш блок должен вычислить и возвратить силу, которая будет применена к организации.
Возвращаемое значение
Новый пользовательский полевой узел.
Оператор импорта
Objective C
@import SpriteKit;Доступность
Доступный в OS X v10.10 и позже.
-
включенный включенныйСвойствоБулево значение, указывающее, активно ли поле.
Объявление
Swift
var enabled: BoolObjective C
@property(nonatomic, getter=isEnabled) BOOL enabledОператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
монопольный монопольныйСвойствоБулево значение, указывающее, должен ли полевой узел переопределить все другие полевые узлы, которые могли бы иначе влиять на организации физики.
Объявление
Swift
var exclusive: BoolObjective C
@property(nonatomic, getter=isExclusive) BOOL exclusiveОбсуждение
Если значение установлено в
YEStrueи организация физики в области этого поля, проигнорированы все другие полевые узлы, которые могли бы иначе влиять на эту организацию. Значение по умолчаниюNOfalse.Если Вы устанавливаете это свойство в
YEStrueна многократных полевых узлах в сцене не должны накладываться их области. Если они делают, результаты не определены.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
Область (относительно источника узла), на который влияет поле.
Обсуждение
Полевой узел применяет свой эффект ко всем организациям физики, которые являются частично или полностью в его области. Значение по умолчанию является областью бесконечного размера.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
minimumRadius minimumRadiusСвойствоМинимальное значение для основанных на расстоянии эффектов.
Объявление
Swift
var minimumRadius: FloatObjective C
@property(nonatomic) float minimumRadiusОбсуждение
Когда расстояние между узлом и организацией физики вычисляется, любое расстояние короче, чем значение, сохраненное в
minimumRadiusсвойство обрабатывается, как будто это равно ему. Значение по умолчанию является очень маленьким (но ненулевой) значение.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
См. также
-
categoryBitMask categoryBitMaskСвойствоМаска, определяющая, которому принадлежат категории это поле.
Объявление
Swift
var categoryBitMask: UInt32Objective C
@property(nonatomic) uint32_t categoryBitMaskОбсуждение
Каждое поле в сцене может быть присвоено максимум 32 различным категориям, каждый соответствующий немного в битовой маске. Значения маски не предопределяются Набором Sprite. Вы определяете значения маски, использующиеся в Вашей игре. Полевой узел
categoryBitMaskсвойство по сравнению с организацией физикиfieldBitMaskсвойство с помощью логической операции И. Если результат является ненулевым, поле применяется к организации физики.Значение по умолчанию
0xFFFFFFFF(весь набор битов).Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
Сила поля.
Объявление
Swift
var strength: FloatObjective C
@property(nonatomic) float strengthОбсуждение
Значение по умолчанию
1.0. Нет никакой определенной единицы измерения для этого свойства, потому что фактический эффект зависит от вида полевого создаваемого узла. На практике лучший подход должен экспериментировать с различными полевыми сильными местами и использовать их для определения собственного значения опытным путем.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
падение конъюнктуры падение конъюнктурыСвойствоЭкспонента, определяющая уровень затухания для силы поля как расстояние, увеличивается между узлом и затрагиваемой организацией физики.
Объявление
Swift
var falloff: FloatObjective C
@property(nonatomic) float falloffОбсуждение
Когда сила полевого узла вычисляется, сила умножается на
pow(distance - minRadius, -falloff). Значение падения конъюнктуры по умолчанию0, который указывает, что никакое затухание не имеет место. Некоторые типы полевых узлов игнорируют параметр падения конъюнктуры полностью, в то время как другие изменяют значение по умолчанию на что-то, что более логично для того типа полевого узла.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
Эти свойства связаны с определенными типами полевых узлов.
-
animationSpeed animationSpeedСвойствоУровень тот, в который шум или полевые изменения узла турбулентности.
Объявление
Swift
var animationSpeed: FloatObjective C
@property(nonatomic) float animationSpeedОбсуждение
Значение
0.0средние значения, которые поле не должно анимировать вообще.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
Гладкость шума раньше генерировала силы.
Объявление
Swift
var smoothness: FloatObjective C
@property(nonatomic) float smoothnessОбсуждение
Этот параметр должен быть значением между
0.0и1.0, где1.0представляет универсальную гладкость.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
направление направлениеСвойствоНаправление скоростного полевого узла.
Объявление
Objective C
@property(nonatomic) vector_float3 directionОператор импорта
Objective C
@import SpriteKit;Доступность
Доступный в OS X v10.10 и позже.
См. также
-
Нормальная текстура, указывающая скорости в различных точках в скоростном полевом узле.
Объявление
Swift
var texture: SKTexture!Objective C
@property(nonatomic, retain) SKTexture *textureОператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
См. также
Типы данных
-
Тип вектора с плавающей точкой раньше выполнял вычисления физики.
Объявление
Objective C
typedef __attribute__((__ext_vector_type__(3))) float vector_float3;Оператор импорта
Objective C
@import SpriteKit;Доступность
Доступный в OS X v10.10 и позже.
-
Определение для пользовательского блока, обрабатывающего единственное взаимодействие организации физики с полем.
Объявление
Objective C
typedef vector_float3 (^SKFieldForceEvaluator)(vector_float3 position, vector_float3 velocity, float mass, float charge, NSTimeInterval time);Обсуждение
Блочные параметры определяются следующим образом:
positionПозиция организации физики. Координаты, как предполагается, в следующем порядке:
x,y,z. В наборе Sprite,zкоордината всегда0.velocityСкорость организации физики. Координаты, как предполагается, в следующем порядке:
dx,dy,dz. В наборе Sprite,dzкоордината всегда0.massМасса организации физики.
chargeЗаряд организации физики.
timeКоличество времени, передавшее с прошлого раза моделирование, выполнялось.
Ваш блок должен выполнить любые вычисления силы, которыми Вы интересуетесь и возвращаете получающуюся силу.
Оператор импорта
Objective C
@import SpriteKit;Доступность
Доступный в OS X v10.10 и позже.
