Ios SpriteKit-停止对象反弹

Ios SpriteKit-停止对象反弹,ios,sprite-kit,Ios,Sprite Kit,我如何停止和物体从屏幕顶部跌落到屏幕底部的反弹。以下是该对象的代码: - (SKNode*)addRock { SKSpriteNode* rock = [SKSpriteNode spriteNodeWithImageNamed:@"asteroid"]; rock.position=CGPointMake ([self makeRandomXWBetween:0 and:self.size.width],self.size.height); rock.name = @

我如何停止和物体从屏幕顶部跌落到屏幕底部的反弹。以下是该对象的代码:

- (SKNode*)addRock {
    SKSpriteNode* rock = [SKSpriteNode spriteNodeWithImageNamed:@"asteroid"];
    rock.position=CGPointMake ([self makeRandomXWBetween:0 and:self.size.width],self.size.height);
    rock.name = @"rock";
    rock.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:rock.size];
    rock.physicsBody.usesPreciseCollisionDetection = YES;
    rock.physicsBody.allowsRotation = NO;
    [self addChild:rock];

    return self;
}

您需要设置SKPhysicsBody的恢复属性

rock.physicsBody.restitution = 0.0;
根据苹果公司的报告:

此属性用于确定物理体的能量大小 当它从另一个对象反弹时丢失。属性必须是一个值 介于0.0和1.0之间。默认值为0.2


这里的归还属性是正确的答案。如果你想让物体在某个接触点而不是其他接触点上反弹,请稍微详细说明一下,一旦你设置了接触委派方法,你就可以在检测到所述接触点时将速度设置为0,0。我想补充一点,有时你也希望将摩擦力属性设置为0.0。否则,在碰撞时,物理实体仍可能导致精灵轻微移动,即使恢复为0。