Hello, I have a problem with moving objects created by script `Instantiate(toCreate
The problem is that they edit Transform in the folder instead of in the game.
There’s a code of Move Object:
using UnityEngine;
using UnityEngine.UI;
public class MovingObjects : MonoBehaviour {
public GameObject[] toMove;
public InputField[] xyz;
public int toMoveNumber;
public bool isMoving;
public Toggle toggle;
public Dropdown dropdown;
private void Update()
{
isMoving = toggle.isOn;
toMoveNumber = dropdown.value;
if (!isMoving)
{
xyz[0].text = toMove[toMoveNumber].transform.position.x.ToString();
xyz[1].text = toMove[toMoveNumber].transform.position.y.ToString();
xyz[2].text = toMove[toMoveNumber].transform.position.z.ToString();
xyz[3].text = toMove[toMoveNumber].transform.rotation.y.ToString();
}
else
{
toMove[toMoveNumber].transform.position = new Vector3(float.Parse(xyz[0].text), float.Parse(xyz[1].text), float.Parse(xyz[2].text));
toMove[toMoveNumber].transform.rotation = new Quaternion(0, float.Parse(xyz[3].text), 0, 0);
}
}
}
And there’s a code of Create Object:
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class CreatingObjects : MonoBehaviour {
public GameObject[] toCreate;
public Dropdown toMoveDB;
public Dropdown toCreateDB;
public Transform spawnPosition;
public int value;
private MovingObjects movingObjects;
private void Start()
{
movingObjects = GetComponent<MovingObjects>();
}
public void OnButtonClick()
{
Instantiate(toCreate[toCreateDB.value], spawnPosition);
toMoveDB.AddOptions(new List<string> { toCreate[toCreateDB.value].ToString() });
movingObjects.toMove.SetValue(toCreate[toCreateDB.value], value);
value++;
}
}
What’s wrong here?