Я делаю настраиваемую игру, используя Unity 2019.3f. В моем главном меню у меня есть возможность для людей ввести число в поле ввода для количества боеприпасов. Затем поле ввода преобразует это значение в int и устанавливает равным ему значение transform position.x игрового объекта. По какой-то причине, когда я ввожу число в поле ввода и нажимаю «Применить настройки», поле ввода полностью исчезает, и мне приходится нажимать «Воспроизвести», а затем go вернуться в главное меню, чтобы поле ввода снова появилось, а затем каким-то образом начать работать и правильно назначая правильные номера в правильные места. Я использовал Debug.Log, чтобы увидеть, можно ли преобразовать значение поля ввода в int, но это так. Мой код для установки преобразования игрового объекта в номер поля ввода приведен здесь:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
using TMPro;
public class GetInputValue : MonoBehaviour
{
public InputField player1ammoinput;
public InputField player2ammoinput;
public GameObject ammo1;
ammo1.transform.position = new Vector3(System.Convert.ToInt32(player1ammoinput.text), 0f, 0f);
ammo1.transform.localScale = new Vector3(System.Convert.ToInt32(player1ammoinput.text), 0f, 0f);
Debug.Log(player1ammoinput.text);
}
Может кто-нибудь узнать, почему Unity делает это? ammo1 - просто игровой объект, в котором хранится число. Это пустой Gamebject. Фактическое поле ввода - это другой игровой объект, который в этом сценарии я называю player1ammoinput.