我只知道CCNode的旋转属性可能与此有关。但是我想水平翻转一个精灵,而不是旋转。
被接受的答案是错误的(或过时的)。你实际上应该使用:
sprite.flipX=YES;
和
sprite.flipX=NO;
将其反转
如果您想水平翻转一个CCNode
,您可以这样做:
sprite.scaleX *= -1;
(或者: sprite.scaleX = -sprite.scaleX
);如果你的精灵一开始没有缩放,你可以简单地这样做:
sprite.scaleX = -1;
CCSprite
类有一个 flipX
/ flipY
方法,可能会满足您的需要。请注意以下行为差异:注释:
@note 翻转不会翻转精灵的任何子精灵,也不会更改锚点。
如果您需要这样做,可以尝试将 CCNode 的 scaleX 属性取反:
sprite.scaleX *= -1.0;
。
scaleX
是完全可接受的翻转方式(请参见我的修改后的答案)。无论如何,OP提到了CCNode
,这应该排除使用flipX
--尽管如此,我还是提到了这种方法适用于CCSprite
。谢谢。 - sergioYOU CAN TRY THIS :
CCSprite* heroSprite = (CCSprite*) _character.children[0];
heroSprite.flipX = YES;
它适用于 Node。
sprite.flippedX = true; //for flipping horizontally.
sprite.flippedY = true; //for flipping vertically.
scaleX
是翻转的完全可接受的方式(请参见我的修改后的答案)。 - sergio