如何给屏幕边缘一个物理机构

我有一个背景精灵,我想给物理主体。

background.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:CGSizeMake(screenWidth , screenHeight)]; 

问题在于精灵在屏幕边界内,我试图在碰到屏幕边缘时与这些精灵发生碰撞。 相反,它自动检测碰撞,因为我的精灵已经在背景的物理体内。 我该怎么办?

更新:以上问题现在回答我有另一个问题。 它的检测接触的方式,它与我的大小和背景的位置有什么可以帮助我的人。

 //init several sizes used in all scene screenRect = [[UIScreen mainScreen] bounds]; screenHeight = screenRect.size.height; screenWidth = screenRect.size.width; //set background self.background = [SKSpriteNode spriteNodeWithImageNamed:@"GameBG3.5inchN.png"]; self.background.size = CGSizeMake(screenHeight, screenWidth); self.background.position = CGPointMake(self.frame.size.width/2, self.frame.size.height/2); //add pphysics body self.background.physicsBody = [SKPhysicsBody bodyWithEdgeLoopFromRect:screenRect]; // 1 self.background.physicsBody.dynamic = YES; // 2 self.background.physicsBody.categoryBitMask = screenEdge; // 3 self.background.physicsBody.contactTestBitMask = cd | floppy; // 4 self.background.physicsBody.collisionBitMask = 0; // 5 [self addChild:self.background]; 

答案:问题在于它是在什么地方开始我的大小游戏是风景,但价值观是肖像

你需要一个基于边缘的主体,而不是基于音量的主体。 使用bodyWithEdgeLoopFromRect:并看看编程指南中的物理章节 。