SKPhysicsWorld

Scene 中的物理世界,用来模拟真实世界的事件;
与 SKPhysicsBody 息息相关。

/// 重力,默认是  { 0.0, +/-9.8 }
open var gravity: CGVector
/// 时间速度
open var speed: CGFloat
  • 接触碰撞
/// 接触代理
unowned(unsafe) open var contactDelegate: SKPhysicsContactDelegate?
/// 开始接触
optional func didBegin(_ contact: SKPhysicsContact)
/// 结束接触
optional func didEnd(_ contact: SKPhysicsContact)
  • 关节
/// 添加关节
open func add(_ joint: SKPhysicsJoint)
/// 移除关节 
open func remove(_ joint: SKPhysicsJoint)
/// 移除所有关机
open func removeAllJoints()
/// @available(iOS 8.0, *) 对场景中的所有场节点进行采样,并返回它们在该点的力的总和。
open func sampleFields(at position: vector_float3) -> vector_float3
  • 在场景中搜索物理体
/// 搜索包含点的第一个物理体
open func body(at point: CGPoint) -> SKPhysicsBody?
/// 搜索与指定矩形相交的第一个物理体
open func body(in rect: CGRect) -> SKPhysicsBody?
/// 搜索与射线相交的第一个物理体
open func body(alongRayStart start: CGPoint, end: CGPoint) -> SKPhysicsBody?
/// 枚举场景中包含一个点的所有物理体
open func enumerateBodies(at point: CGPoint, using block: @escaping (SKPhysicsBody, UnsafeMutablePointer<ObjCBool>) -> Void)
/// 枚举场景中与指定矩形相交的所有物理实体
open func enumerateBodies(in rect: CGRect, using block: @escaping (SKPhysicsBody, UnsafeMutablePointer<ObjCBool>) -> Void)
/// 枚举场景中与射线相交的所有物理体
open func enumerateBodies(alongRayStart start: CGPoint, end: CGPoint, using block: @escaping (SKPhysicsBody, CGPoint, CGVector, UnsafeMutablePointer<ObjCBool>) -> Void)
posted on 2022-08-23 09:36  xiao孛  阅读(40)  评论(0编辑  收藏  举报