一尘不染

水平镜像SKSpriteNode纹理

swift

我正在使用称为Sprite
Kit的新API开发iOS7游戏。我想水平旋转SKSpriteNode图像/纹理。我已经尝试过通过首先镜像图像,然后创建一个SKTexture,最后将其应用于SKSpriteNode来进行尝试,但是它不起作用。有什么办法可以做到这一点?还是我应该拥有不同的图像?


阅读 250

收藏
2020-07-07

共1个答案

一尘不染

您可以使用以下代码在x轴之间切换:

spriteNode.xScale = spriteNode.xScale * -1;

但请注意,您可能会丢失Physicalbody的某些属性,我强烈建议您以这种方式使用xScale:

spriteNodeBody = [SKNode node];
spriteNodeBody.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:spriteNode.size];
spriteNodeBody.physicsBody.categoryBitMask = CNPhysicsCategoryPlayer;
spriteNodeBody.physicsBody.collisionBitMask = CNPhysicsCategoryBall;

[spriteNodeBody addChild:spriteNode];
[self addChild:spriteNodeBody];

现在您可以放心使用:

    spriteNode.xScale = spriteNode.xScale * -1;
2020-07-07