2016-09-26 2 views
0

Я борюсь с этой ситуацией на как позиционировать конкретизированную сборную на основе размера экрана, мой следующий код заключается в следующем: =Код для размещения экземпляра UI prefab на основе размера экрана?

using UnityEngine; 
using System.Collections; 
using UnityEngine.UI; 

public class UPStand : MonoBehaviour 
{ 

    public GameObject SaleButtonPrefab; 
    public GameObject ParentButton; 
    public int 

    void Start() 
    { 
     //To loop all the list 
     for(int i = 0; i < 3; i++) 
     { 
      //Instantiate the button prefab and make a parent 
      GameObject nu = Instantiate(SaleButtonPrefab) as GameObject; 
      nu.transform.SetParent(ParentButton.transform, false); 

      //To set the position and function 
      nu.GetComponent<RectTransform>().anchoredPosition = new Vector2(0, (i*-289.5f));// <-- This positioning does not position with screen the size 
     } 
    } 
} 

, когда я запускаю это на разрешении 720x1280, она прекрасно работает как изображение показывает ниже:

enter image description here

Но когда я бегу это на разрешение позволяет сказать, 900x1100, позиционирование высоты довольно сильно отличается, как изображение показывает ниже:

enter image description here

Я попытался установить положение якоря в углах изображения, он работает с точки зрения масштабирования, но не позиционирования, хотя любые идеи?

И спасибо заранее с:

ответ

1

Выберите холст и в инспекторе выбрать шкалу с размером экрана и поставить в высоком разрешении вы хотите для вашей игры, всегда основывает свой GUI на нем и не использовать бесплатный аспект в в игровом представлении всегда используется разрешение, которое вы хотите увидеть, но по-прежнему пытайтесь изменить изменение поворотов вручную, перетащив их на нисходящие концы вашей панели или на дно всего холста, так что только высота будет изменена.

Смежные вопросы