Я пытаюсь создать справки рендеринга во время выполнения на панели слева направо. Я попытался установить позицию как до, так и после установки панели в качестве родителя, и, похоже, не может заставить ее работать. Либо объект появляется в середине панели, посередине экрана, либо где-то вне экрана. Я думаю, что просто не понимаю изменения базы между координатами или чем-то еще.Невозможно создать объект на панели с правильным выравниванием во время выполнения
Вот мой код до сих пор:
public class LoadPanel : MonoBehaviour {
public List<GameObject> spriteRendererList = new List<GameObject>();
public GameObject spritePanel;
void Start() {
Sprite[] spriteArray = Resources.LoadAll<Sprite>("sprites");
Vector3 panelPos = spritePanel.transform.position;
RectTransform panelRT = spritePanel.GetComponent<RectTransform>();
float panelWidth = panelRT.rect.width;
for (int i = 0; i < spriteArray.Length;; i++)
{
Vector3 panelItemPos = new Vector3(panelPos.x + i * 5, panelPos.y, 0);
Instantiate(spriteRendererList[i], panelItemPos, Quaternion.identity);
spriteRendererList[i].transform.SetParent(spritePanel.transform);
spriteRendererList[i].transform.position = panelPos + new Vector3((panelPos.x-panelWidth)/2 + i*10,0,0);
}
}
Может кто-нибудь помочь мне с тем, что я не хватает?
Спасибо!