2013-02-17 75 views

回答

8

如果你的意思是你想水平翻转一个CCNode,你只需要做:

sprite.scaleX *= -1; 

(或:sprite.scaleX = -sprite.scaleX);如果你的精灵是不是摆在首位,在所有缩放,你可以简单地做:

sprite.scaleX = -1; 

CCSprite类得到了一个flipX/flipY方法可以为你的目的。请注意以下difference in behaviour

@note翻转并不会翻转任何精灵的子精灵,也不会改变anchorPoint。

如果这是你想要的,你应该尝试颠倒CCNode的scaleX属性:sprite.scaleX *= -1.0;

+0

它works.Thank你了。 – 2013-02-17 11:52:58

+0

很高兴帮助。不要忘记接受答案,如果其建议的解决方案工作... – sergio 2013-02-18 08:44:17

+0

已过时,请更新正确答案 – 2017-01-24 23:19:29

12

接受的答案是错误的(或过时的)。你真正应该使用的是:

sprite.flipX=YES; 

sprite.flipX=NO; 

扭转它

+1

这是正确的做法。 (测试) – ervinbosenbacher 2014-09-03 08:09:09

+1

请注意,sergio的答案适用于没有翻转方法的节点。 – TigerCoding 2015-01-26 19:25:43

+0

也适用于CocosSharp。 – 2016-12-02 15:08:43

1

你可以试试这个:

CCSprite* heroSprite = (CCSprite*) _character.children[0]; 

然后使用heroSprite例如:

heroSprite.flipX = YES; 

它适用于节点。

1

在当前版本的cocos2d-JS(3.8): 尝试,

sprite.flippedX = true; //for flipping horizontally. 
sprite.flippedY = true; //for flipping vertically.