我创建了一个游戏,我在底部创建SKSpriteNode
。因为我想让一个高于草的实际底部原因作为背景。问题是在我创建了物理体后,我的移动SKSpriteNode
与底部接触。我创建的底部SpriteNode将会移动。
如何使底部精灵节点具有作为底边的功能,而不是完全移动。我的意思是它无法改变立场。
我的代码:
SKSpriteNode *bottom = [SKSpriteNode spriteNodeWithColor:[SKColor clearColor] size:CGSizeMake(self.frame.size.width*2, 98)];
bottom.physicsBody.dynamic = NO;
bottom.position = CGPointMake(0, 0);
[self addChild:bottom];
bottom.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:bottom.size];
答案 0 :(得分:0)
您必须将物理主体的dynamic
属性设置为NO
。在实际创建物理实体之前,您正在执行此操作。这就是为什么它没有任何影响。将您的代码更改为:
SKSpriteNode *bottom = [SKSpriteNode spriteNodeWithColor:[SKColor clearColor]
size:CGSizeMake(self.frame.size.width*2, 98)];
bottom.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:bottom.size];
bottom.physicsBody.dynamic = NO;
bottom.position = CGPointMake(0, 0);
[self addChild:bottom];
它应该有用。