水平镜像SKSpriteNode纹理

Mar*_*cos 22 image objective-c ios7 sprite-kit swift

我正在使用名为Sprite Kit的新API开发iOS7游戏.我想水平旋转SKSpriteNode图像/纹理.我已经尝试过首先镜像图像,然后创建一个SKTexture,最后将它应用到SKSpriteNode,但它不起作用.有办法做到这一点吗?或者我应该有不同的图像?

Gre*_*reg 36

如果你只是想沿轴转动精灵,你可以这样做:

sprite.xScale = -1.0;
Run Code Online (Sandbox Code Playgroud)

  • 如果更改锚点,似乎也不起作用.有办法做到这两点吗? (2认同)
  • 执行此操作的@Greg xScale = -1.0使我的SKSpriteNode从地面掉落(在缩放之前它通常站在地面上).任何想法为什么?(7.1) (2认同)

Ahm*_*glu 21

您可以使用此代码在x轴之间翻转:

spriteNode.xScale = spriteNode.xScale * -1;
Run Code Online (Sandbox Code Playgroud)

但要小心你可能失去一些物理学家的财产,我强烈建议你以这种方式使用xScale:

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

[spriteNodeBody addChild:spriteNode];
[self addChild:spriteNodeBody];
Run Code Online (Sandbox Code Playgroud)

现在你可以安全地使用:

    spriteNode.xScale = spriteNode.xScale * -1;
Run Code Online (Sandbox Code Playgroud)