SKConstraint
SKConstraint объект описывает математическое ограничение на позицию узла или ориентацию. Ограничения присоединены к узлам; после того, как сцена обрабатывает любые действия и взаимодействия физики, она применяет ограничения, присоединенные к узлам в ее дереве узла. Используйте ограничения, чтобы гарантировать, что определенные отношения являются истиной, прежде чем будет представлена сцена.
Например, Вы могли бы использовать ограничение для:
Измените узел
zRotationсвойство так, чтобы это всегда указывало на другой узел или позицию в сцене.Сохраните узел в указанном расстоянии другого узла или точки в сцене.
Сохраните узел в указанном прямоугольнике.
Ограничьте
zRotationсвойство узла так, чтобы это имело более ограниченный диапазон вращения движения.
Для использования ограничений создайте NSArray объект, содержащий один или несколько ограничительных объектов и присваивающий массив узлу constraints свойство. Когда сцена оценена, ограничения на узел выполняются в порядке, они появляются в constraints массив.
После того, как создаваемый, ограничение не может быть изменено. Однако можно выборочно отключить или включить ограничение путем установки enabled свойство. Можно также использовать referenceNode свойство для преобразования позиций в систему координат, на которую ссылаются, прежде, чем применить ограничение.
Соответствует
-
AnyObject -
CVarArgType -
Сопоставимый -
Hashable -
NSCoding -
NSCopying -
NSObjectProtocol -
Печатаемый -
NSCoding -
NSCopying -
NSObject
Оператор импорта
Swift
import SpriteKit
Objective C
@import SpriteKit;
Доступность
Доступный в OS X v10.10 и позже.
-
Создает ограничение, ограничивающее x координату позиции узла.
Объявление
Swift
class func positionX(_range: SKRange) -> Self!Objective C
+ (instancetype)positionX:(SKRange *)rangeПараметры
rangeДиапазон для ограничения координаты.
Возвращаемое значение
Новое ограничение.
Обсуждение
Каждый ограничения времени применяется, x координата узла
positionсвойство фиксируется так, чтобы оно нашлось в указанном диапазоне.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
Создает ограничение, ограничивающее y координату позиции узла.
Объявление
Swift
class func positionY(_range: SKRange) -> Self!Objective C
+ (instancetype)positionY:(SKRange *)rangeПараметры
rangeДиапазон для ограничения координаты.
Возвращаемое значение
Новое ограничение.
Обсуждение
Каждый раз, когда ограничения применяются, y координата узла
positionсвойство фиксируется так, чтобы оно нашлось в указанном диапазоне.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
Создает ограничение, ограничивающее обе координаты позиции узла.
Объявление
Параметры
xRangeДиапазон для ограничения x координирует к.
yRangeДиапазон для ограничения y координирует к.
Возвращаемое значение
Новое ограничение.
Обсуждение
Каждый ограничения времени применяется, узел
positionсвойство фиксируется так, чтобы обе координаты легли в указанных диапазонах.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
Создает ограничение, вынуждающее узел вращаться на основе позиции другого узла.
Объявление
Параметры
nodeУзел, который должен использоваться для ориентации узла, к которому присоединено это ограничение.
radiansСмещение, добавляющееся к
zRotationзначение после того, как это вычисляется.Возвращаемое значение
Новое ограничение.
Обсуждение
Каждый раз, когда ограничения применяются, новый угол, вычисляется так, чтобы строка, спроектированная под этим углом, указала бы на источник другого узла. Этот угол добавляется к значениям, указанным в
radiansсвойство для создания нового диапазона. Наконец, узелzRotationзначение фиксируется для адаптации в этом диапазоне.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
Создает ограничение, вынуждающее узел вращаться для направления к фиксированной точке.
Объявление
Параметры
pointТочка в системе координат родителя узла.
radiansСмещение, добавляющееся к
zRotationзначение после того, как это вычисляется.Возвращаемое значение
Новое ограничение.
Обсуждение
Каждый раз, когда ограничения применяются, новый угол, вычисляется так, чтобы строка, спроектированная под этим углом, указала бы на целевую точку. Этот угол добавляется к значениям, указанным в
radiansсвойство для создания нового диапазона. Наконец, узелzRotationзначение фиксируется для адаптации в этом диапазоне.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
См. также
-
Создает ограничение, вынуждающее узел вращаться для направления к точке в системе координат другого узла.
Объявление
Параметры
pointТочка в
nodeсистема координат параметра.nodeУзел, система координат которого точка указана в.
radiansСмещение, добавляющееся к
zRotationзначение после того, как это вычисляется.Возвращаемое значение
Новое ограничение.
Обсуждение
Каждый раз, когда ограничения применяются, новый угол, вычисляется так, чтобы строка, спроектированная под этим углом, указала бы на целевую точку. Этот угол добавляется к значениям, указанным в
radiansсвойство для создания нового диапазона. Наконец, узелzRotationзначение фиксируется для адаптации в этом диапазоне.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
Создает ограничение, ограничивающее ориентацию узла.
Объявление
Swift
class func zRotation(_zRange: SKRange) -> Self!Objective C
+ (instancetype)zRotation:(SKRange *)zRangeПараметры
zRangeЗначение диапазона, указывающее минимальные и максимальные значения узла
zRotationсвойство.Возвращаемое значение
Новое ограничение.
Обсуждение
Каждый раз, когда ограничения применяются, узел
zRotationсвойство фиксируется так, чтобы это было в указанном диапазоне.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
Создает ограничение, сохраняющее узел в определенном расстоянии другого узла.
Объявление
Параметры
rangeДиапазон позволенных расстояний между этими двумя узлами.
nodeЦелевой узел раньше вычислял расстояние.
Возвращаемое значение
Новое ограничение.
Обсуждение
Каждый раз, когда ограничения применяются, строка, спроектирован между позицией узла и позицией целевого узла. Расстояние между двумя точками вычисляется, и если оно находится вне указанного диапазона, узел продвигают или вытягивают вдоль этой строки, пока оно не находится в диапазоне.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
Создает ограничение, сохраняющее узел в определенном расстоянии точки.
Объявление
Параметры
rangeДиапазон позволенных расстояний между узлом и точкой.
pointТочка в системе координат родителя узла, использующегося для вычисления расстояния.
Возвращаемое значение
Новое ограничение.
Обсуждение
Каждый раз, когда ограничения применяются, строка, спроектирован между позицией узла и целевой точкой. Расстояние между двумя точками вычисляется, и если оно находится вне указанного диапазона, узел продвигают или вытягивают вдоль этой строки, пока оно не находится в диапазоне.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
См. также
-
Создает ограничение, сохраняющее узел в определенном расстоянии точки в системе координат другого узла.
Объявление
Параметры
rangeДиапазон позволенных расстояний.
pointТочка для использования в качестве целевой точки.
nodeУзел, система координат которого точка указана в.
Возвращаемое значение
Новое ограничение.
Обсуждение
Каждый раз, когда ограничения применяются, строка, спроектирован между позицией узла и целевой точкой. Расстояние между двумя точками вычисляется, и если оно находится вне указанного диапазона, узел продвигают или вытягивают вдоль этой строки, пока оно не находится в диапазоне.
Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
referenceNode referenceNodeСвойствоУзел, система координат которого должна использоваться для применения ограничения.
Обсуждение
Значение по умолчанию
nil, подразумевать, что система координат родителя узла используется для применения ограничения. Если другой узел указан, все позиции преобразовываются в систему координат этого узла, прежде чем будет применено ограничение.Оператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
-
включенный включенныйСвойствоБулево значение, указывающее, применяется ли ограничение.
Объявление
Swift
var enabled: BoolObjective C
@property BOOL enabledОператор импорта
Objective C
@import SpriteKit;Swift
import SpriteKitДоступность
Доступный в OS X v10.10 и позже.
