Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы SpriteKit ссылка класса SKFieldNode

Опции
Развертывание Target:

На этой странице
Язык:

SKFieldNode

A SKFieldNode применяет эффекты физики к организациям физики в определенной части сцены.

Существует много различных видов полевых узлов, которые могут быть созданы, каждый с различными эффектами. Раздел Creating Field Nodes перечисляет типы поля, можно создать использование Набор Sprite, включая тип, позволяющий Вам применять пользовательские силы к организациям физики. Инстанцируйте надлежащего вида полевого узла и затем добавьте его к дереву узла сцены.

Когда сцена моделирует эффекты физики, полевой узел применяет свой эффект к организации физики, пока следующими вещами является истина:

  • Полевой узел находится в дереве узла сцены.

  • Полевой узел enabled свойство YEStrue.

  • Организация физики присоединена к узлу, который находится в дереве узла сцены.

  • Организация физики расположена в полевой области узла (см. region).

  • Организация физики не расположена в области другого полевого узла чей exclusive свойство установлено в YEStrue.

  • Логическая операция И между полевым узлом categoryBitMask свойство и организация физики fieldBitMask свойство приводит к ненулевому значению.

Наследование


Оператор импорта


Swift

import SpriteKit

Objective C

@import SpriteKit;

Доступность


Доступный в OS X v10.10 и позже.
  • Создает полевой узел, применяющий силу, сопротивляющуюся движению организаций физики.

    Объявление

    Swift

    class func dragField() -> SKFieldNode

    Objective C

    + (SKFieldNode *)dragField

    Возвращаемое значение

    Новый полевой узел перетаскивания.

    Обсуждение

    Сила применяется в противоположном направлении организации физики velocity свойство и имеет величину, пропорциональную полю strength свойство и скорость организации физики. (Закон Стоука)

    Оператор импорта

    Objective C

    @import SpriteKit;

    Swift

    import SpriteKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Создает полевой узел, применяющий электрическую силу, пропорциональную электрическому заряду организаций физики. Это поле моделирует первую часть уравнения Лоренца.

    Объявление

    Swift

    class func electricField() -> SKFieldNode

    Objective 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() -> SKFieldNode

    Objective 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, animationSpeed speed: CGFloat) -> SKFieldNode

    Objective C

    + (SKFieldNode *)noiseFieldWithSmoothness:(CGFloat)smoothness animationSpeed:(CGFloat)speed

    Параметры

    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() -> SKFieldNode

    Objective C

    + (SKFieldNode *)radialGravityField

    Возвращаемое значение

    Новый радиальный полевой узел силы тяжести.

    Обсуждение

    Сила поля измеряется, ускорение поля в метрах в секунду придало квадратную форму. Положительное число указывает, что организация ускоряется к полевому узлу. Расчетная сила пропорциональна массе организации физики (подразумевать, что ускорение применилось ко всем затронутым организациям физики, константа). falloff свойство радиального полевого узла силы тяжести установлено по умолчанию в 2.

    Оператор импорта

    Objective C

    @import SpriteKit;

    Swift

    import SpriteKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Создает полевой узел, применяющий весеннюю силу, вытягивающую организации физики к полевому узлу.

    Объявление

    Swift

    class func springField() -> SKFieldNode

    Objective C

    + (SKFieldNode *)springField

    Возвращаемое значение

    Новый пружинный полевой узел.

    Обсуждение

    Сила поля измеряет силу пружины. Положительное число указывает, что организация ускоряется к полевому узлу. falloff свойство пружинного полевого узла установлено по умолчанию в 1.

    Оператор импорта

    Objective C

    @import SpriteKit;

    Swift

    import SpriteKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Создает полевой узел, применяющий рандомизированное ускорение к организациям физики. Величина ускорения пропорциональна скорости организации.

    Объявление

    Swift

    class func turbulenceFieldWithSmoothness(_ smoothness: CGFloat, animationSpeed speed: CGFloat) -> SKFieldNode

    Objective C

    + (SKFieldNode *)turbulenceFieldWithSmoothness:(CGFloat)smoothness animationSpeed:(CGFloat)speed

    Параметры

    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) -> SKFieldNode

    Objective 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 и позже.

    См. также

    направление

  • Создает полевой узел, применяющий перпендикулярную силу к организациям физики.

    Объявление

    Swift

    class func vortexField() -> SKFieldNode

    Objective C

    + (SKFieldNode *)vortexField

    Возвращаемое значение

    Новый узел вихревого поля.

    Обсуждение

    Сила поля измеряется, ускорение поля в метрах в секунду придало квадратную форму (подразумевать, что подобный силе тяжести, все организации физики затронуты одинаково). Организация физики ускоряется вдоль перпендикуляра строки между полевой позицией узла и позицией организации физики. Положительная полевая сила указывает, что организация ускоряется в направлении против часовой стрелки. 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: Bool

    Objective C

    @property(nonatomic, getter=isEnabled) BOOL enabled

    Оператор импорта

    Objective C

    @import SpriteKit;

    Swift

    import SpriteKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Булево значение, указывающее, должен ли полевой узел переопределить все другие полевые узлы, которые могли бы иначе влиять на организации физики.

    Объявление

    Swift

    var exclusive: Bool

    Objective C

    @property(nonatomic, getter=isExclusive) BOOL exclusive

    Обсуждение

    Если значение установлено в YEStrue и организация физики в области этого поля, проигнорированы все другие полевые узлы, которые могли бы иначе влиять на эту организацию. Значение по умолчанию NOfalse.

    Если Вы устанавливаете это свойство в YEStrue на многократных полевых узлах в сцене не должны накладываться их области. Если они делают, результаты не определены.

    Оператор импорта

    Objective C

    @import SpriteKit;

    Swift

    import SpriteKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • область область Свойство

    Область (относительно источника узла), на который влияет поле.

    Объявление

    Swift

    var region: SKRegion!

    Objective C

    @property(nonatomic, retain) SKRegion *region

    Обсуждение

    Полевой узел применяет свой эффект ко всем организациям физики, которые являются частично или полностью в его области. Значение по умолчанию является областью бесконечного размера.

    Оператор импорта

    Objective C

    @import SpriteKit;

    Swift

    import SpriteKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • minimumRadius minimumRadius Свойство

    Минимальное значение для основанных на расстоянии эффектов.

    Объявление

    Swift

    var minimumRadius: Float

    Objective C

    @property(nonatomic) float minimumRadius

    Обсуждение

    Когда расстояние между узлом и организацией физики вычисляется, любое расстояние короче, чем значение, сохраненное в minimumRadius свойство обрабатывается, как будто это равно ему. Значение по умолчанию является очень маленьким (но ненулевой) значение.

    Оператор импорта

    Objective C

    @import SpriteKit;

    Swift

    import SpriteKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • categoryBitMask categoryBitMask Свойство

    Маска, определяющая, которому принадлежат категории это поле.

    Объявление

    Swift

    var categoryBitMask: UInt32

    Objective 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: Float

    Objective C

    @property(nonatomic) float strength

    Обсуждение

    Значение по умолчанию 1.0. Нет никакой определенной единицы измерения для этого свойства, потому что фактический эффект зависит от вида полевого создаваемого узла. На практике лучший подход должен экспериментировать с различными полевыми сильными местами и использовать их для определения собственного значения опытным путем.

    Оператор импорта

    Objective C

    @import SpriteKit;

    Swift

    import SpriteKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Экспонента, определяющая уровень затухания для силы поля как расстояние, увеличивается между узлом и затрагиваемой организацией физики.

    Объявление

    Swift

    var falloff: Float

    Objective 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: Float

    Objective C

    @property(nonatomic) float animationSpeed

    Обсуждение

    Значение 0.0 средние значения, которые поле не должно анимировать вообще.

    Оператор импорта

    Objective C

    @import SpriteKit;

    Swift

    import SpriteKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Гладкость шума раньше генерировала силы.

    Объявление

    Swift

    var smoothness: Float

    Objective 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 и позже.

    См. также

    + velocityFieldWithVector:

  • Нормальная текстура, указывающая скорости в различных точках в скоростном полевом узле.

    Объявление

    Swift

    var texture: SKTexture!

    Objective C

    @property(nonatomic, retain) SKTexture *texture

    Оператор импорта

    Objective C

    @import SpriteKit;

    Swift

    import SpriteKit

    Доступность

    Доступный в OS X v10.10 и позже.

    См. также

    + velocityFieldWithTexture:

Типы данных

  • Тип вектора с плавающей точкой раньше выполнял вычисления физики.

    Объявление

    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 и позже.