簡體   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