2016-09-26 3 views
0

ich mit dieser Situation habe Schwierigkeiten, wie ein Fertighaus auf der Bildschirmgröße basierend auf Position instanziiert, ist mein folgender Code folgendermaßen aus: =Code zum Positionieren instanziierter UI-Prefab basierend auf der Bildschirmgröße?

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 
     } 
    } 
} 

wenn ich laufe dies auf einer Auflösung von 720x1280, es funktioniert perfekt wie die Bild unten zeigt:

enter image description here

Aber wenn ich dies auf einer Auflösung laufen läßt 900x1100 sagen, die Positionierung der Höhe ist etwas anders als das Bild unten zeigt:

enter image description here

Ich habe versucht, die Ankerposition an den Ecken des Bildes einzurichten, es funktioniert in Bezug auf die Skalierung, aber nicht die Positionierung, aber keine Ideen?

Und Dank im Voraus c:

Antwort

1

Ihre Leinwand auswählen und im Inspektoren Skala mit Bildschirmgröße auswählen und in der höchsten Auflösung, die Sie für Ihr Spiel setzen wollen, stützt immer Ihren GUI auf sie und nicht in freien Aspekt verwenden In der Spielansicht wird immer die Auflösung verwendet, die Sie sehen möchten. Sie können jedoch auch versuchen, die Pivots manuell zu ändern, indem Sie sie an die unteren Enden des Bedienfelds oder ganz nach unten ziehen.

Verwandte Themen