chore: 角色展示修复高分辨率屏幕UI错位
This commit is contained in:
@@ -24,6 +24,11 @@ namespace CharacterPreview
|
||||
private bool canEdit = false;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
SetRectTransform();
|
||||
SetText();
|
||||
@@ -130,19 +135,23 @@ namespace CharacterPreview
|
||||
rectTransform = gameObject.AddComponent<RectTransform>();
|
||||
}
|
||||
|
||||
if (!rectTransform.parent || rectTransform.parent.name != "Canvas")
|
||||
if (!rectTransform.parent)
|
||||
{
|
||||
var defaultCanvas = GameObject.Find("Canvas");
|
||||
if (!defaultCanvas)
|
||||
{
|
||||
defaultCanvas = new GameObject("ControlModelMoveCanvas");
|
||||
var canvas = defaultCanvas.AddComponent<Canvas>();
|
||||
canvas.renderMode = RenderMode.ScreenSpaceOverlay; // 设置渲染模式为屏幕空间覆盖
|
||||
defaultCanvas.AddComponent<CanvasScaler>();
|
||||
defaultCanvas.AddComponent<GraphicRaycaster>();
|
||||
canvasRectTransform = defaultCanvas.transform;
|
||||
}
|
||||
|
||||
var defaultCanvas = new GameObject("ControlModelMoveCanvas");
|
||||
defaultCanvas.layer = LayerMask.NameToLayer("UI");
|
||||
var canvas = defaultCanvas.AddComponent<Canvas>();
|
||||
canvas.renderMode = RenderMode.ScreenSpaceOverlay;
|
||||
canvas.sortingOrder = -100;
|
||||
var canvasScaler = defaultCanvas.AddComponent<CanvasScaler>();
|
||||
canvasScaler.uiScaleMode = CanvasScaler.ScaleMode.ScaleWithScreenSize;
|
||||
canvasScaler.referenceResolution = new Vector2(1600, 900);
|
||||
canvasScaler.matchWidthOrHeight = 1f;
|
||||
|
||||
defaultCanvas.AddComponent<GraphicRaycaster>();
|
||||
|
||||
canvasRectTransform = defaultCanvas.GetComponent<RectTransform>();
|
||||
canvasRectTransform.SetParent(null, false);
|
||||
canvasRectTransform.SetAsFirstSibling();
|
||||
rectTransform.SetParent(defaultCanvas.transform);
|
||||
}
|
||||
|
||||
@@ -165,7 +174,7 @@ namespace CharacterPreview
|
||||
buttonRect.anchorMin=Vector2.right;
|
||||
buttonRect.pivot = Vector2.right;
|
||||
buttonRect.sizeDelta=new Vector2(80f,30f);
|
||||
buttonRect.anchoredPosition = new Vector2(-200, 100);
|
||||
buttonRect.anchoredPosition = new Vector2(-80, 5);
|
||||
|
||||
|
||||
var button = buttonObj.AddComponent<Button>();
|
||||
|
||||
Reference in New Issue
Block a user