我正在为应用程序创建一条鱼,游到屏幕上的随机位置。在鱼开始游向下一个位置之前,它会旋转到它的起点和目标点之间的角度。
我想弄清楚的是:if (target.x < start.x)
,我需要水平翻转精灵。
问题是,在我为图层创建精灵和addChild
之后,我无法使用flipX
设置精灵的[sprite setFlipX]
属性。
精灵添加到图层后是否锁定了setFlipX?我怎么能绕过这个?是我唯一的动画解决方案吗?
答案 0 :(得分:5)
要翻转并保留以前的任何缩放比例,请使用:
sprite.scaleX *= -1.f;
完成此操作后,您不应再使用属性sprite.scale
,因为它包含scaleX == scaleY
的断言。
答案 1 :(得分:3)
尝试通过将scaleX设置为-1来翻转它:
sprite.scaleX = -1;
此外,对于它的价值,您应该能够在将节点添加为子节点后设置flipX布尔值。如果你不能,还有其他事情必须继续。