添加到图层后水平翻转CCSprite

时间:2012-02-08 18:40:50

标签: objective-c ios animation cocos2d-iphone ccsprite

我正在为应用程序创建一条鱼,游到屏幕上的随机位置。在鱼开始游向下一个位置之前,它会旋转到它的起点和目标点之间的角度。

我想弄清楚的是:if (target.x < start.x),我需要水平翻转精灵。

问题是,在我为图层创建精灵和addChild之后,我无法使用flipX设置精灵的[sprite setFlipX]属性。

精灵添加到图层后是否锁定了setFlipX?我怎么能绕过这个?是我唯一的动画解决方案吗?

2 个答案:

答案 0 :(得分:5)

要翻转并保留以前的任何缩放比例,请使用:

sprite.scaleX *= -1.f;

完成此操作后,您不应再使用属性sprite.scale,因为它包含scaleX == scaleY的断言。

答案 1 :(得分:3)

尝试通过将scaleX设置为-1来翻转它:

sprite.scaleX = -1;

此外,对于它的价值,您应该能够在将节点添加为子节点后设置flipX布尔值。如果你不能,还有其他事情必须继续。