繁体   English   中英

如何在y轴上翻转CGImageRef

[英]How to flip a CGImageRef over y-axis

我正在尝试仅使用CoreAnimation为sprite设置动画。 它到目前为止工作,除了我无法弄清楚如何翻转精灵表。

现在,我有一个步行动画,但我希望精灵面对它走的方向(因为它看起来有点傻向后走)。

我想我可以在精灵表上添加反转图像,但我宁愿避免这种情况,因为当我决定添加更多内容时,它可能会让它变得非常大。

现在,我的精灵正在扩展CALayer ,我将其内容设置为CGImageRef ,即精灵表:

self.contents = (id) image;

为了翻转我试过:

UIImage *tmp = [UIImage imageWithCGImage:image scale:1.0 orientation:UIImageOrientationUpMirrored];
CGImageRef flippedImage = tmp.CGImage;
self.contents = (id) flippedImage;

..那是行不通的。

我发现其他涉及动画的解决方案,但我不想动画翻转。 我只是想让它立刻发生。

有一个简单的方法吗?

如果有办法翻转整个CALayer ,我也想知道。 =]

谢谢!

您可以尝试将变换应用于图层对象,而不是翻转图像。 就像是:

self.transform = CATransform3DMakeScale(-1, 1, 1);

这对性能也可能更好; 如果精灵需要向相反方向行走,你可以将变换设置回CATransform3DIdentity,而不是分配新图像并旋转它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM