gpt4 book ai didi

iphone - 动画效果: breaking button into parts

转载 作者:行者123 更新时间:2023-11-29 04:31:20 24 4
gpt4 key购买 nike

我需要一个类似于按下按钮时将按钮分成小部分的动画效果。有没有一种简单的方法可以用 Quartz 等来做到这一点?它的外观非常灵活。

最佳答案

我会把你的按钮图像带入图形程序并准备它的不同版本,每个版本都有一个 alpha channel ,用一小块遮挡所有图像,图案的方式是,如果所有图像都堆叠起来,它们就会看起来像整个按钮。 (为了获得更好的效果,您可以在“碎片”的边缘做一些绘画,这样它们就会有一些造型。)

您需要对应该使用什么文件格式进行一些研究。也许 png 是最好的,但 jpeg 也可以。

返回 Xcode,为每个“片段”创建 CALayer,并将您创建的图形文件设置为 CALayer 的内容。当需要制作“分解”动画时,将新的 CALayers 作为子图层添加到 View 的图层中:

    [self.view.layer addSublayer:layerPiece]; // do this for each layer

并为每一层创建一个 CAKeyframeAnimations 的 CAAnimationGroup —— 可能是 translate、translate.rotation 和 opacity。您可以在那里找到示例。有用的提示:旋转必须以弧度为单位。您需要设置值以使图层旋转并彼此分开,并可能在最后淡出。以下是淡出动画的示例:

CAKeyframeAnimation *animFadeOut = [CAKeyframeAnimation animationWithKeyPath:@"opacity"];
animFadeOut.values = [NSArray arrayWithObjects:[NSNumber numberWithFloat:0.0], [NSNumber numberWithFloat:1.0], nil];
animFadeOut.keyTimes = [NSArray arrayWithObjects:[NSNumber numberWithFloat:0.4f], [NSNumber numberWithFloat:1.0f], nil];

最后,对于每一层,您都可以像这样设置动画:

[layerPiece3 addAnimation:animGroup3 forKey:@"arbitraryAnimPropertyString"];

这是一项艰巨的工作。或者,如果您可以使用 Adob​​e After Effects 等合成程序,则可以准备动画电影(仍然是相当多的工作,但比盲目设置关键帧编号容易得多),然后只需通过按钮播放即可。我没有在 iOS 中播放电影,但我假设您将其设置为 CALayer 的内容并将图层添加到 View 中以显示和播放电影。

理想情况下,您可以使用 3D 软件对按钮进行建模、纹理化和照明,使用粒子效果将其分解,渲染短片,并将电影应用到图层。 p>

关于iphone - 动画效果: breaking button into parts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11705286/

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