Moving UI buttons with code
Hello, I'm attempting to move 4 UI buttons around on the same canvas at the start of a new level. There are 4 different fixed positions that they may go into. But for some reason every attempt to move them with code has ended in bizarre results.
For example, Button 1 "btn1" that I have setup, moves to -17258.24 , -26265.6 instead of 135.45f, -205.2f ,0f or any of the others listed below in my code. I have added a Debug.Log (pickPos[randomPos]); to check if it's receiving the correct transforms and it is.
I'm really stumped on this, could anyone help me out? Please take a look at my code below.
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public GameObject btn1 = null;
public Text pick1;
public GameObject btn2 = null;
public Text pick2;
public GameObject btn3 = null;
public Text pick3;
public GameObject btn4 = null;
public Text pick4;
public Vector3 pos1 = new Vector3(-134.83f,-205.2f,0f);
public Vector3 pos2 = new Vector3(135.45f,-205.2f,0f);
public Vector3 pos3 = new Vector3(-134.83f,-464.7f,0f);
public Vector3 pos4 = new Vector3(135.45f,-464.7f,0f);
public Vector3[] pickPos;
public int randomPos;
void Start ()
{
pickPos = new Vector3[4];
pickPos[0] = pos1;
pickPos[1] = pos2;
pickPos[2] = pos3;
pickPos[3] = pos4;
randomPos = (int)Random.Range(0,4);
btn1.transform.position = pickPos[randomPos];
}
I found out The answer and it's this! I needed to use the RectTransform and anchoredPosition ins$$anonymous$$d of transform.postion. I Hope this helps out other people in the future! It was driving me crazy..
btn1.GetComponent<RectTransform>().anchoredPosition = pickPos[randomPos];
Your answer
Follow this Question
Related Questions
How could I make an object move from left to right and it will come back from right? 0 Answers
Move gameObject on UI Button Press 2 Answers
UI GameObject (Button prefab) randomly changing Z axis RectTransform when instantiated 1 Answer
Transform Position Are Different Each Other 1 Answer
Move player based on UI controls 0 Answers