gpt4 book ai didi

cocoa - 使用 CoreAnimation 实现全屏动画效果?

转载 作者:行者123 更新时间:2023-12-03 17:21:07 28 4
gpt4 key购买 nike

我正在尝试执行一些全屏动画效果,例如移动/缩放窗口以及文件如何“跳转”到 Safari 中的下载文件夹的效果。

我的第一次尝试是使用 NSImageView 内容 View 创建窗口,并使用 CoreAnimation 在屏幕上移动窗口。这非常失败,因为 CoreAnimation 以这种方式对窗口进行动画处理显然非常慢(NSViewAnimation 也失败了)。令人惊讶的是,网络上对此的文章并不多,要么表明没有人这样做,要么表明他们没有遇到性能问题。

我留下的其他想法是制作一个全屏透明窗口并在窗口内设置 NSView 动画(使用 CoreAnimation)或使用 Sprite 制作全屏透明 OpenGL 上下文。

还有哪些其他选项或者是否有某种方法可以使 CA 流畅地制作窗口动画?使用 CoreAnimation 这应该很容易,所以我很困惑。谢谢大家!

最佳答案

我放弃了这个好几个月,直到我找到了这个示例的链接:

http://www.cimgf.com/2008/03/15/core-animation-tutorial-dashboard-effect/

最有效的基本解决方案是专门使用全屏透明窗口和 CALayers(如果可能,没有阴影)并仅对这些图层进行动画处理。使用 NSView 或 NSWindow 将不起作用。

我相信,通过在透明窗口中设置 2D OpenGL 上下文,您可以实现相同的性能,但这会增加开销。类似地,SpriteKit 或 Cocos2D 可能与纯 CALayers 或 OpenGL 上下文相同。

关于cocoa - 使用 CoreAnimation 实现全屏动画效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27240541/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com