我试图执行一些全屏动画效果,例如移动/缩放窗口和效果,例如文件"跳跃"进入Safari的下载文件夹。
我的第一次尝试是使用NSImageView内容视图制作窗口,并使用CoreAnimation在窗口周围移动窗口。这种失败非常糟糕,因为CoreAnimation在以这种方式动画窗口时显然非常慢(NSViewAnimation也失败了)。令人惊讶的是,在网上写这篇文章并不多,这表明没有人这样做,或者他们没有遇到性能问题。
我剩下的其他想法是创建一个全屏透明窗口,并在窗口内动画NSView(使用CoreAnimation)或使用精灵制作全屏透明OpenGL上下文。
还有哪些方法可以让CA动态地为Windows制作动画?使用CoreAnimation应该很容易,所以我很困惑。谢谢你们!
答案 0 :(得分:0)
我放弃了这几个月,直到我找到了这个例子的链接:
http://www.cimgf.com/2008/03/15/core-animation-tutorial-dashboard-effect/
最有效的基本解决方案是使用全屏透明窗口和CALayers(如果可能,不使用阴影)并仅为这些图层设置动画。使用NSView或NSWindow将无法使用。
通过在透明窗口中设置2D OpenGL上下文,您可以实现相同的性能,但这会带来更多开销。类似地,SpriteKit或Cocos2D可能与纯CALayers或OpenGL上下文相同。