我想在屏幕上创建一个金属球,完成材质并运行动画。但是,当球滚动时,我希望纹理不会旋转。因为那使滚动球看起来不像金属球...

反正有没有?我可以使SKSpriteNode不旋转球。

SKSpriteNode *node = [self spriteNodeWithImageNamed:@"ball.png"];
node.name = @"ball";
node.size = CGSizeMake(sideSize, sideSize);
node.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius: sideSize/2];
node.physicsBody.restitution = 0.2;
node.physicsBody.friction = 0.01;
node.physicsBody.angularDamping = 0.5;
node.physicsBody.categoryBitMask = GMCategoryBall;
node.position = CGPointMake(wood.position.x,wood..position.y +wood..size.height);
node.physicsBody.contactTestBitMask =.....
node.physicsBody.collisionBitMask =.....

最佳答案

这里有一些建议:


添加另一个没有外观的SKSpriteNodephysicsBody。让它始终居中对准您的球。
添加另一个SKSpriteNode作为球的子节点,并将其旋转设置为与球的旋转方向相反。
添加另一个SKSpriteNode,将其physicsBody设置为不会与场景中其他任何东西发生交互的位掩码值(0是一个不错的选择),并设置一个使其保持锁定状态的关节。关闭该Sprite的旋转。

关于ios - 如何让SKSpriteNode不旋转纹理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28038454/

10-13 01:57