Unity 是一款广泛使用的游戏开发引擎,支持 2D 和 3D 游戏的开发。在 Unity 中,GameObject
是所有游戏对象的基础类,包含了组件(Components)和变换(Transform)等信息。
在 Unity 2D 中,将 GameObject
居中通常指的是将其在屏幕或父对象中水平和垂直居中。
GameObject
在屏幕上水平和垂直居中。GameObject
在其父对象中水平和垂直居中。using UnityEngine;
public class CenterOnScreen : MonoBehaviour
{
void Start()
{
CenterOnScreenHelper();
}
void CenterOnScreenHelper()
{
Vector3 screenPosition = Camera.main.WorldToScreenPoint(transform.position);
screenPosition.x = (Screen.width - spriteRenderer.bounds.size.x) / 2;
screenPosition.y = (Screen.height - spriteRenderer.bounds.size.y) / 2;
transform.position = Camera.main.ScreenToWorldPoint(screenPosition);
}
}
using UnityEngine;
public class CenterOnParent : MonoBehaviour
{
void Start()
{
CenterOnParentHelper();
}
void CenterOnParentHelper()
{
if (transform.parent != null)
{
Vector3 parentSize = transform.parent.GetComponent<RectTransform>().sizeDelta;
Vector3 localPosition = new Vector3(parentSize.x / 2, parentSize.y / 2, 0);
transform.localPosition = localPosition;
}
}
}
Update
方法中重新调用居中方法。通过以上方法和示例代码,你可以实现 GameObject
在屏幕或父对象中的居中显示。希望这些信息对你有所帮助!
领取专属 10元无门槛券
手把手带您无忧上云