如何让 SKSpriteNode 不旋转纹理
Posted
技术标签:
【中文标题】如何让 SKSpriteNode 不旋转纹理【英文标题】:How to let SKSpriteNode don't rotation texture 【发布时间】:2015-01-20 05:38:02 【问题描述】:我想在屏幕上创建一个金属球,我已经完成了材质和运行动画。但是当球滚动时,我希望纹理不应该旋转。因为那让滚球看起来不像金属球……
反正有还是没有?我可以让 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 =.....
【问题讨论】:
【参考方案1】:以下是一些建议:
添加另一个SKSpriteNode
,但不带physicsBody
,这只是为了外观。始终以球为中心。
添加另一个 SKSpriteNode
作为球的子节点,并将其旋转设置为与球的旋转相反。
添加另一个SKSpriteNode
,将其physicsBody
设置为不会与场景中的任何其他内容交互的位掩码值(0 是一个不错的选择)并设置一个关节以使其锁定在球上。关闭该 Sprite 的旋转。
【讨论】:
以上是关于如何让 SKSpriteNode 不旋转纹理的主要内容,如果未能解决你的问题,请参考以下文章