
物理学
|
233
如果我们只想随便找一个物体,并不关心具体是哪一个,我们可以使用
body(at:)
、
body(in:)
和
body(alongRayStart:, end:)
方法,它们只会返回所找到的第一个物
体:
let firstBodyAtPoint = self.physicsWorld.body(at: searchPoint)
let firstBodyInRect = self.physicsWorld.body(in: searchRect)
let firstBodyAlongRay =
self.physicsWorld.body(alongRayStart: searchRayStart, end: searchRayEnd)
这些方法并不会查找没有绑定
SKPhysicsBody
的节点对象,它们只会查找有物理
模拟的对象。如果想查找没有物体的节点,可以用
SKScene
对象的
node(at:)
、
childNode(with:)
或者
enumerateChildNodes(with:, using:)
方法。
7.13
连接
问题
我们想将多个物体连接在一起。
解决方案
可以使用任何一种
SKPhysicsJoint
类:
let anchor = SKSpriteNode(color:SKColor.white,
size:CGSize(width: 100, height: 100))
anchor.position = CGPoint(x: self.frame.midX, ...