Próbuję upuścić SKSpriteNode ze stałą prędkością i bez podskakiwania.
Oto kod, który używam:
SKSpriteNode *floor = [SKSpriteNode spriteNodeWithColor:[UIColor clearColor] size:CGSizeMake(self.size.width, 1)];
floor.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:floor.size];
floor.physicsBody.restitution = 0.0f;
floor.physicsBody.dynamic = NO;
floor.physicsBody.allowsRotation = NO;
SKSpriteNode* block = [SKSpriteNode spriteNodeWithTexture:[SKTexture textureWithImageNamed:imageName]];
block.position = CGPointMake(160, 300);
block.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:CGSizeMake(block.size.width - 2, block.size.height)];
block.physicsBody.dynamic = dynamic;
block.physicsBody.restitution = 0.0f;
block.physicsBody.allowsRotation = NO;
Kiedy zmieniam wartość restytucji, widzęróżnica w odbijaniu bloków, ale gdy wynosi zero, wciąż odbija się trochę. Kiedy wiele bloków jest ułożonych w stos, poniższe bloki również lekko się odbijają.
Jak mogę całkowicie wyłączyć odbijanie?
Odpowiedzi:
1 dla odpowiedzi № 1Po kilku próbach i błędach odkryłem tosilnik fizyki nie powinien być używany, jeśli chcesz precyzyjnie pozycjonować swoje elementy. Dlatego w mojej grze planszowej ponownie zaimplementowałem kod, aby uzyskać pozytywną pozycję