https://oapxq0.axshare.com
十分抱歉回复的比较慢,1是还没有下班只能抽空想一想,2是你这个问题看似简单,但是牵扯的东西比较多,不太好总结语言。
总结之后,回答如下:
/*建议你以后直接发RP文件给我,你上传到Axureshare,我会预览不全,并且我也看不到你的动作设置*/
关于旋转动作:
Axure的旋转动作其实就是控件围绕一个点(像素点)做圆周运动,打个比方,你从default元件库里面拖入了一个矩形框,矩形框的宽度和高度均为200个像素单位,矩形框的位置:X=0,Y=0,你想让矩形框做顺时针旋转,旋转类型为相对位置,锚点你选择中心。那么经过计算,这个锚点的坐标位置就是:X=100,Y=100。
所以这个矩形框在旋转的时候,给我们的视觉效果就像中心被钉在屏幕上一样。
在旋转动作中关于组合的特殊性:
组合是将多个控件组合在了一起,方便我们拖动或者达到一些效果,但是本质上还是多个控件,所以组合的锚点不固定,他会随着旋转位置的变化,动态的重新定位锚点,这也会为什么,如果旋转角度设置的不合适(非360度),组合会发生偏移。
在旋转动作中,关于动态面板或单个控件:
动态面板(在某种程度上也可以称之为单个控件或者叫集合控件),或者单个控件,他们在旋转的时候,锚点是不会发生变化的(以初始位置为准)
问题扩展:
除了上述情况,那么在控件旋转的什么时候,还有哪些情况会发生偏移呢,
1、当出现浮点小数的时候(比如咱们前面讲的的动态时钟的案例,由于用到了随机函数,所以会出现浮点小数),
2、控件位置发生了变化,比如咱们用到了添加动作里面的移动,由于我们使用的是相对位置,也就是相对当前的位置,如果在移动的效果还没有完成之前,我们就触发了相应的动作让某个控件进行旋转,那么将会影响 该控件经旋转之后出现的坐标位置。