Sprite 节点离开框架

Sprite Node leaving frame

我已经为背景和其他 sprite 节点设置了物理 body,但该节点仍然可以离开边界。它不会从底部掉落,但它可以留在两侧。

SKSpriteNode *bg = [SKSpriteNode spriteNodeWithImageNamed:@"bg"];
bg.position = CGPointMake(self.scene.size.width/2,   self.scene.size.height/2);
self.physicsBody = [SKPhysicsBody bodyWithEdgeLoopFromRect:self.frame];
self.physicsWorld.contactDelegate = self;
[self addChild:bg];

SKSpriteNode *player = [SKSpriteNode spriteNodeWithImageNamed:@"ball"];
player.position = CGPointMake(self.frame.size.width*.5, 200);
player.name = @"player";
player.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:30];
player.physicsBody.categoryBitMask = playerCategory;
player.physicsBody.contactTestBitMask = barCategory;
[self addChild:player];

我认为正在发生的是背景节点的 body 比视图显示的更宽。我怎样才能使 body 维度与视图一致。

GameViewControllerGameScene的初始化行改为

GameScene *scene = [[GameScene alloc]
                    initWithSize:CGSizeMake(self.view.frame.size.width,
                                            self.view.frame.size.height)];