Мое поле ввода исчезает и не работает, если я не загружаю новую сцену и не загружаю старую сцену обратно в Unity - PullRequest
0 голосов
/ 21 апреля 2020

Я делаю настраиваемую игру, используя 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.

1 Ответ

0 голосов
/ 21 апреля 2020

Если я правильно понимаю, вы анализируете текст до целочисленного значения, а затем используете это значение, чтобы переместить объект ammo1 в сторону (или к игроку).

Я предлагаю переместить анализ в дополнительная переменная перед фактической адаптацией, и подумайте, что полученное вами значение (скажем, 22 боеприпаса) сместит предмет с боеприпасами на 22 единицы, то есть FAR, следовательно, он сразу исчезнет из поля зрения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...