SKSpriteNode应该不应该弹跳

时间:2013-10-05 15:21:17

标签: ios7 bounce sprite-kit restitution skspritenode

我正在使用新的API Sprite Kit开发2D游戏。问题是虽然将精灵节点的恢复原状设置为0,但它会稍微反弹一下。我怎样才能完全禁用弹跳?

2 个答案:

答案 0 :(得分:6)

您需要在将要遇到的两个对象上设置恢复原状。

    self.world = [SKNode node];
    [self addChild:self.world];

    self.backgroundColor = [SKColor colorWithRed:0.15 green:0.15 blue:0.3 alpha:1.0];

    self.physicsBody = [SKPhysicsBody bodyWithEdgeFromPoint:CGPointZero toPoint:CGPointMake(500, 0)];
    self.physicsBody.restitution = 0.0;

    self.ball = [SKSpriteNode spriteNodeWithColor:[SKColor redColor] size:CGSizeMake(40, 40)];
    self.ball.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:CGSizeMake(40, 40)];
    self.ball.physicsBody.density = 100;
    self.ball.physicsBody.restitution = 0.0;
    self.ball.position = CGPointMake(200, 300);
    [self.world addChild:self.ball];

答案 1 :(得分:1)

我发现按比例缩小了质量!

self.ball.physicsbody.mass=0.2;

使用这样的小数字并且它不会反弹,你也必须相应地调整你的引力和冲动。我发现0.2最适合-20

无论出于何种原因,即使在0恢复原状,平均大小的物体也足够重弹。