2013-04-24 31 views
0

之间的关系水平,即什么是我想要翻转精灵scaleX和anchorPoint

sprite.scaleX = -1; 

我注意到的是,精灵围绕其左下角翻转。然而,由于我不想搞乱我对精灵的定位(我希望精灵留在原来的位置),所以我试图将其定位点设置为(1,0)

sprite.anchorPoint = ccp(1,0); 

我的理由是这样的:

由于精灵应该anchorPoint左右翻转,如果我设置了anchorPoint它的右下角则是角球随后将成为改变精灵的“左”底部角落;我应该可以使用新的anchorPoint来移动精灵,就像我对anchorPoint (0,0)的普通精灵所做的一样。

然而,显然它没有按预期工作。我错过了什么?

编辑

我真正想要做的是翻转一个精灵,然后可以通过左下角来控制它的位置 - 好,我看到精灵的左下角。我不认为我完全理解scaleX = -1是如何应用于anchorPoint的。如果有人能向我解释这些参数背后的概念,那么这将对我有很大的帮助。

+0

为什么不使用sprite.flipX? – LearnCocos2D 2013-04-24 19:52:31

+0

@ LearnCocos2D我曾尝试过,但没有任何效果。我猜测精灵包含多个节点,而flipX只处理单个纹理 – lynnard 2013-04-24 19:58:21

+0

您也可以使用0,0定位点,然后将contentSize.width添加到position.x以获得相同效果(原点位于右下角) – LearnCocos2D 2013-04-24 20:15:49

回答

0

我必须纠正自己的断言,设置anchorPoint没有帮助。实际上,将anchorPoint设置为(1,0)正是解决问题的方法,只是某种错误使我无法在测试中识别它。