(Utilizzo di Unity 4.6.0b20)Unity 4.6: le istanze di pulsante aggiunte in fase di esecuzione non vengono ridimensionate in base alla risoluzione di riferimento?
Ho riscontrato un problema in cui le dimensioni dei pulsanti prefabbricate funzionano correttamente quando aggiunte nell'editor ma sembrano ignorare la risoluzione di riferimento quando aggiunte dallo script.
Questo utilizza una tela con risoluzione di riferimento 1280x720 e MatchWidthOrHeight. La tela ha un gruppo di layout verticale per i pulsanti. Il pulsante ha larghezza e altezza preferite e viene salvato come prefabbricato in modo da poter creare nuove istanze dalle risorse in fase di runtime.
In l'editor posso trascinare il prefabbricato di scena per aggiungere istanze al pannello che ha anche la larghezza 102 e impilare e la scala ben:
Ma quando invece ho aggiungi nuove istanze del prefabbricato tramite script al Pannello che compaiono con le dimensioni sbagliate. Guardando le dimensioni la mia ipotesi è la dimensione 102 pixel non viene scalato dalla risoluzione Riferimento:
Il codice script crea l'istanza tramite GameObject.Instantiate() e aggiunge al pannello impostando trasformare. parent:
GameObject uiInstance = (GameObject)GameObject.Instantiate(Resources.Load<GameObject>(assetPath));
uiInstance.transform.parent = unitButtonsPanel.transform;
presumo o c'è di più che deve essere fatto quando si aggiunge il pulsante al Pannello di Parent solo l'impostazione, o si tratta di un bug con la beta ...
Suggerimenti?
Non sicuro di aver capito quello che vuoi dire "quando viene esportato – mwk
** ben macchiato ** - si Per impostazione predefinita, quando esegui l'Instantiate, il ** ridimensiona il valore predefinito a zero ** nel rectTransform. Improvvisamente stupido muovere per conto dell'unità, ma poi, questo è Unity. – Fattie