gpt4 book ai didi

cocoa - 对所有 CALayer 元素应用相同的透视和旋转(与 Coverflow 不同)

转载 作者:行者123 更新时间:2023-12-03 16:13:37 24 4
gpt4 key购买 nike

我正在尝试模拟架子上 CD 的外观。每张 CD 都应该从某个角度可见,就像您在书架上看书一样。我使用核心动画转换。问题是结果看起来像 Coverflow,即元素根据其在屏幕上的位置而看起来不同。

这里是它的实际外观和我想要的外观的屏幕截图:

what it looks like and what it is supposed to look like

我使用了 CALayers 并应用了两个基本转换:

1) 旋转:

CATransform3DMakeRotation(DegreesToRadians(60), 0, 1, 0);

2)添加视角:

CATransform3D perspective = CATransform3DIdentity;
perspective.m34 = -1.0/400;
self.layer.sublayerTransform = perspective;

如何对所有图层应用相同的变换并使它们看起来都一样? Core Animation 是适合这项工作的工具吗?

谢谢,马克。

最佳答案

尝试在各个元素的 transform 中包含透视变换,而不是在父层的 sublayerTransform 中:

CATransform3D perspective = CATransform3DIdentity;
perspective.m34 = -1.0/400;
CATransform3D transform = CATransform3DRotate(perspective, DegreesToRadians(60), 0, 1, 0);
element.layer.transform = transform;

关于cocoa - 对所有 CALayer 元素应用相同的透视和旋转(与 Coverflow 不同),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4993345/

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