我有九个SKSpriteNodes
从屏幕的顶部掉到底部。我也有SKView
,我可以把它拖到屏幕上。如何动态检测我SKView
与九个之一的碰撞SKSpriteNodes
?
问问题
920 次
2 回答
2
SKView
没有physicsBody
属性,所以不能碰撞。
但是,您可以手动检查 ' 是否SKView
与' 框架frame
相交:SKSpriteNode
- (void)update:(CFTimeInterval)currentTime {
if (CGRectIntersectsRect(skView.frame, node.frame) {
....
}
}
于 2014-04-16T15:15:11.263 回答
0
在场景中,您可以检测框架和 SKSpriteNodes 之间的碰撞。
在您的 Scene.m 中,添加以下代码initWithSize:(CGSize)size
:
self.physicsBody = [SKPhysicsBody bodyWithEdgeLoopFromRect:self.frame];
self.physicsBody.categoryBitMask = kSceneCategory;
self.physicsBody.contactTestBitMask = kSKNodeCategory; // this is your SKSpriteNode's categoryBitMask
在 中- (void)didBeginContact:(SKPhysicsContact *)contact
,您可以检测到碰撞。
于 2014-04-17T07:12:33.583 回答