我正在使用新的 API Sprite Kit 开发 2D 游戏。问题是,虽然将精灵节点的恢复设置为 0,但它会反弹一点。我怎样才能完全禁用弹跳?
问问题
2087 次
2 回答
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];
于 2013-10-05T22:34:15.757 回答
1
我发现按比例缩小质量有效!
self.ball.physicsbody.mass=0.2;
使用这样的小数字,它不会反弹,你还必须相应地调整你的重力和冲量。我发现0.2
使用-20
.
无论出于何种原因,即使在 0 恢复时,平均大小的对象也足以弹跳。
于 2017-01-17T01:15:29.367 回答