NGUI的SetAnchor方法()3.9.2版本
//UIRect.cs的SetAnchor方法
public void SetAnchor (GameObject go, int left, int bottom, int right, int top)
{
Transform t = (go != null) ? go.transform : null;
leftAnchor.target = t;
rightAnchor.target = t;
topAnchor.target = t;
bottomAnchor.target = t;
leftAnchor.relative = 0f;
rightAnchor.relative = 1f;
bottomAnchor.relative = 0f;
topAnchor.relative = 1f;
leftAnchor.absolute = left;
rightAnchor.absolute = right;
bottomAnchor.absolute = bottom;
topAnchor.absolute = top;
ResetAnchors();
UpdateAnchors();
}
SetAnchor()不能写上方向.relative就是anchor的方向,右上都为1,左下都为0,中间为0.5f
但明SetAnchor明显不够用了,也可能一个个去设置了
sprite.bottomAnchor.Set(panel.transform, 0.5f, 41);
sprite.topAnchor.Set(panel.transform, 1, -51);
可以去copy UIRect的方法,写成这样
public void SetAnchorInspector(GameObject go, int left, int right, int bottom, int top, float leftOri=0f, float rightOri=1f,float bottomOri=0f, float topOri=1f)
{
Transform t = (go != null) ? go.transform : null;
leftAnchor.target = t;
rightAnchor.target = t;
topAnchor.target = t;
bottomAnchor.target = t;
leftAnchor.relative = leftOri;
rightAnchor.relative = rightOri;
bottomAnchor.relative = bottomOri;
topAnchor.relative = topOri;
leftAnchor.absolute = left;
rightAnchor.absolute = right;
bottomAnchor.absolute = bottom;
topAnchor.absolute = top;
ResetAnchors();
UpdateAnchors();
}
写成了Inspector视图的顺序.对照起来比较方便
sprite4.SetAnchorInspector(panel, 351, -255, -134, -85,0,1,1,1);