SKPhysicsWorld
SKPhysicsWorld
объект моделирует коллизии и другие физические свойства. Вы не создаете SKPhysicsWorld
объекты непосредственно; вместо этого, читайте physicsWorld
свойство SKScene
объект.
Объект мира физики позволяет Вам выполнять следующие задачи:
Глобальные свойства набора для моделирования, такие как сила тяжести
Создайте соединения между двумя организациями физики в сцене
Установите делегата для получения уведомлений, когда две организации физики будут в контакте друг с другом
Определите, какие организации физики в сцене пересекаются с точками, прямоугольниками или лучами
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCoding
-
NSObjectProtocol
-
Печатаемый
-
NSCoding
-
NSObject
Оператор импорта
Swift
import SpriteKit
Objective C
@import SpriteKit;
Доступность
Доступный в OS X v10.9 и позже.
-
сила тяжести сила тяжести
СвойствоВектор, указывающий гравитационное ускорение, применился к организациям физики в мире физики.
Обсуждение
Компоненты этого свойства измеряются в метрах в секунду. Значение по умолчанию
(0.0,-9.8)
, какая сила тяжести Земли перенастоящего.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Уровень, на котором выполняется моделирование.
Обсуждение
Значение по умолчанию
1.0
, что означает выполнения моделирования в нормальной скорости. Значение кроме значения по умолчанию изменяет уровень, на котором время передает на моделировании физики. Например, значение скорости2.0
указывает то время в передачах моделирования физики дважды с такой скоростью, как время моделирования сцены. Значение0.0
приостанавливает моделирование физики.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Добавляет соединение к миру физики.
Объявление
Swift
func addJoint(_
joint
: SKPhysicsJoint)Objective C
- (void)addJoint:(SKPhysicsJoint *)
joint
Параметры
joint
Соединение для добавления.
Обсуждение
Для соединения для вступления в силу это должно быть добавлено к миру физики.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Удаляет все соединения из мира физики.
Объявление
Swift
func removeAllJoints()
Objective C
- (void)removeAllJoints
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Удаляет определенное соединение из мира физики.
Объявление
Swift
func removeJoint(_
joint
: SKPhysicsJoint)Objective C
- (void)removeJoint:(SKPhysicsJoint *)
joint
Параметры
joint
Соединение для удаления.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
contactDelegate contactDelegate
СвойствоДелегат, которого вызывают, когда две организации физики вступают в контакт друг с другом.
Объявление
Swift
unowned(unsafe) var contactDelegate: SKPhysicsContactDelegate!
Objective C
@property(nonatomic, assign) id< SKPhysicsContactDelegate > contactDelegate
Обсуждение
Когда два перекрытия организаций физики и одна из организаций физики имеют a, контакт создается
contactTestBitMask
свойство, накладывающееся с другой организациейcategoryBitMask
свойство.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Поиски первой организации физики, пересекающей луч.
Объявление
Swift
func bodyAlongRayStart(_
start
: CGPoint, endend
: CGPoint) -> SKPhysicsBody?Objective C
- (SKPhysicsBody *)bodyAlongRayStart:(CGPoint)
start
end:(CGPoint)end
Параметры
start
Начальная точка для луча в координатах сцены.
end
Конечная точка для луча в координатах сцены.
Возвращаемое значение
Первая организация физики обнаружила, что это пересекает луч. Это может быть любой организацией вдоль луча; это, как гарантируют, не будет самой близкой организацией физики. Если никакая организация не пересекает луч, этот метод возвраты
nil
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Поиски первой организации физики, содержащей точку.
Объявление
Swift
func bodyAtPoint(_
point
: CGPoint) -> SKPhysicsBody?Objective C
- (SKPhysicsBody *)bodyAtPoint:(CGPoint)
point
Параметры
point
Точка в координатах сцены.
Возвращаемое значение
Первая организация физики обнаружила, что это содержит точку. Если никакая организация не содержит точку, этот метод возвраты
nil
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Поиски первой организации физики, пересекающей указанный прямоугольник.
Объявление
Swift
func bodyInRect(_
rect
: CGRect) -> SKPhysicsBody?Objective C
- (SKPhysicsBody *)bodyInRect:(CGRect)
rect
Параметры
rect
Прямоугольник в координатах сцены.
Возвращаемое значение
Первая организация физики обнаружила, что это пересекает прямоугольник. Если никакая организация не пересекает прямоугольник, этот метод возвраты
nil
.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Перечисляет все организации физики в сцене, пересекающие луч.
Объявление
Swift
func enumerateBodiesAlongRayStart(_
start
: CGPoint, endend
: CGPoint, usingBlockblock
: ((SKPhysicsBody!, CGPoint, CGVector, UnsafeMutablePointer<ObjCBool>) -> Void)!)Objective C
- (void)enumerateBodiesAlongRayStart:(CGPoint)
start
end:(CGPoint)end
usingBlock:(void (^)(SKPhysicsBody *body, CGPoint point, CGVector normal, BOOL *stop))block
Параметры
start
Начальная точка для луча в координатах сцены.
end
Конечная точка для луча в координатах сцены.
block
Блок, который вызовут для каждой организации физики, которой касается луч. Блок берет следующие параметры:
body
Организация физики, которую пересек луч.
point
Точка в сцене координирует, где луч связался с организацией физики.
normal
Вектор нормали для организации физики при контакте.
stop
Указатель на Логическую переменную. Ваш блок может установить это в
YES
true
завершать перечисление.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Перечисляет все организации физики в сцене, содержащие точку.
Объявление
Swift
func enumerateBodiesAtPoint(_
point
: CGPoint, usingBlockblock
: ((SKPhysicsBody!, UnsafeMutablePointer<ObjCBool>) -> Void)!)Objective C
- (void)enumerateBodiesAtPoint:(CGPoint)
point
usingBlock:(void (^)(SKPhysicsBody *body, BOOL *stop))block
Параметры
point
Точка в координатах сцены.
block
Блок, который вызовут для каждой организации физики, содержащей точку. Блок берет следующие параметры:
body
Организация физики, которую пересек луч.
stop
Указатель на Логическую переменную. Ваш блок может установить это в
YES
true
завершать перечисление.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Перечисляет все организации физики в сцене, пересекающие указанный прямоугольник.
Объявление
Swift
func enumerateBodiesInRect(_
rect
: CGRect, usingBlockblock
: ((SKPhysicsBody!, UnsafeMutablePointer<ObjCBool>) -> Void)!)Objective C
- (void)enumerateBodiesInRect:(CGRect)
rect
usingBlock:(void (^)(SKPhysicsBody *body, BOOL *stop))block
Параметры
rect
Прямоугольник в координатах сцены.
block
Блок, который вызовут для каждой организации физики, содержащей точку. Блок берет следующие параметры:
body
Организация физики, пересекшая прямоугольник.
stop
Указатель на Логическую переменную. Ваш блок может установить это в
YES
true
завершать перечисление.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Выборки все полевые узлы в сцене и возвратах суммирование их сил в той точке.
Объявление
Objective C
- (vector_float3)sampleFieldsAt:(vector_float3)
position
Параметры
position
Позиция в координатах сцены.
Возвращаемое значение
Суммирование сил проявлено на той точке.
Обсуждение
Выборка вычисляется, как будто организация физики размещается в ту позицию в сцене. Организация, как предполагается, имеет массу
1.0
, без заряда или скорости. Организация затронута всеми полевыми узлами.Оператор импорта
Objective C
@import SpriteKit;
Доступность
Доступный в OS X v10.10 и позже.