天天看点

UnityEngine.Screen.safeArea

Unity 2017.2.1及以后

Screen.safeArea会返回移动平台安全区的Rect。

参考代码:

public class SafeArea : MonoBehaviour
{
    float safeArea_left;
    // Start is called before the first frame update
    void Start()
    {
        safeArea_left = UnityEngine.Screen.safeArea.left;
    }

    // Update is called once per frame
    void Update()
    {
        if (Screen.orientation ==UnityEngine.ScreenOrientation.LandscapeLeft)
        {
            
            gameObject.GetComponent<RectTransform>().anchoredPosition = new Vector2(safeArea_left, gameObject.GetComponent<RectTransform>().anchoredPosition.y);
        }
        else
        {
            gameObject.GetComponent<RectTransform>().anchoredPosition = new Vector2(0, gameObject.GetComponent<RectTransform>().anchoredPosition.y);
        }
    }
}
           

上述代码是为了实现如下效果:

当用户向左横握手机,屏幕左侧图片吸附在刘海处;当用户向右横握手机,屏幕左侧图片吸附在手机底部。

借鉴链接:

https://zhuanlan.zhihu.com/p/124246847