Objective c 添加到图层后水平翻转CCSprite
我正在为一个应用程序创建一条游动到屏幕上任意位置的鱼。在鱼开始向下一个位置游动之前,它会旋转到起点和目标点之间的角度 我想弄清楚的是:Objective c 添加到图层后水平翻转CCSprite,objective-c,ios,animation,cocos2d-iphone,ccsprite,Objective C,Ios,Animation,Cocos2d Iphone,Ccsprite,我正在为一个应用程序创建一条游动到屏幕上任意位置的鱼。在鱼开始向下一个位置游动之前,它会旋转到起点和目标点之间的角度 我想弄清楚的是:如果(target.x
如果(target.x
,我需要水平翻转精灵
问题是,在创建精灵并将子对象添加到图层后,我无法使用[sprite setFlipX]
设置精灵的flipX
属性
将精灵添加到图层后,setFlipX是否锁定?我怎样才能避开这件事?是我唯一的动画解决方案吗?尝试通过将scaleX设置为-1来翻转它:
sprite.scaleX = -1;
此外,您还可以在将节点添加为子节点后设置flipX布尔值。如果不能,则必须执行其他操作。要翻转并保留以前的缩放,请使用:
sprite.scaleX *= -1.f;
完成此操作后,不应再使用属性
sprite.scale
,因为它包含scaleX==scaleY
的断言 我不认为FlipX被锁定了。在精灵添加到图层之后,它不会翻转纹理,只是在之前。你确定吗?通常Cocos2d使这些东西成为只读的。这不会保留以前做过的任何缩放。