动画和旋转问题
出现了这么一种bug,具体来说就是走完旋转动画后发现之前物体的属性的大小不对
1 可以看出展开前是一个比较高的立方体,展开后图形是个正方体展开
2 可以看出展开前是一个比较高且扁的立方体,展开后图形是确都是细长方体
原因是什么呢?
因为结构构成不对。
xyz拉伸的时候我是针对整个立方体进行拉伸,对整个立方体加了一个ScaleTransform3D,如下图
但是展开的时候,我是分别对每个面进行动画旋转,比如这是其中一个面的展开动画效果
结果就是每个面都展开了,但是整体立方体还有一个ScaleTransform3D,我的视野是鸟瞰图,所以最后丢失了y的sacale,整体在xy上又分别加了scale
这也就是造成第一张图的原因
解决方法:
将整个立方体的transform拆分成每个面的transform
这将会引发另一个问题。
面是由两种旋转,一是原来的面的transform,带来的是拉伸变化, 一种是展开后的沿着轴旋转的transform
如果两个变换共同作用在面上,会出现问题,即当我拉伸后,轴旋转的旋转轴需要重新调整,
比如原来轴的位置是1,1,0,经过拉伸放大后,轴旋转的位置应该是2,2,0了,
如何避免这个问题呢?下个博客见