互动照片墙效果之扩散效果(二)

互动照片墙效果之扩散效果(二)

上一篇博客介绍了如何按照相对方向进行扩散,这篇博客介绍一下如何按照指定的角度进行扩散。
假定A为点击到的UI,B为要扩散的UI,A的扩散区域有12个UI物体,我们现在希望它能按照角度均匀的扩散出去;
我们分析一下思路:
由于12个UI要按照角度均匀扩散,也就是把360°等分12份,
此时问题转换为以一点为圆心,求每隔30°的方向?有了方向和扩散距离,我们就能确定目标位置

//坐标
(Mathf.Cos(角度), Mathf.Sin(角度)//划分12等分
float temp = 2 * Mathf.PI / 12; //确定单位等分所占的弧度
//计算自身所属分段
Vector2 dir = new Vector2(Mathf.Cos(temp * index), Mathf.Sin(temp * index));//index:索引值
//计算目标位置
this.targetAnchoredPosition = dir.normalized * ItemParamenter.Radius + GameManager.Instance.DefaultSheep.AnchoredPosition;

效果如图:

你可能感兴趣的:(Unity)