Не удается найти текущую позицию GameObject - PullRequest
0 голосов
/ 26 мая 2019

Я пробую себя в единстве, и мне нравится кодировать в нем небольшую игру. Я хочу сделать скрипт, который отображает над текстом над игрой текущий счет. Для этого мне нравится использовать скрипт transform.position, но если я его использую, он не обновляет текущую позицию. Он показывает только положение GameObject в начале сцены. Как я могу изменить показ текущей сцены в каждом кадре и отобразить ее на экране в текстовом поле?

    public Transform tf;
    public Text textSoore; 

     void Start()
     {

     }

    // Update is called once per frame
    void Update()
    {
        tf = GetComponent<Transform>();
        textSoore = GetComponent<Text>();
        textSoore.text = tf.


    }


}

1 Ответ

1 голос
/ 26 мая 2019

Во-первых, вам не нужно вызывать GetComponent, вы можете просто использовать преобразование в нижнем регистре - я считаю, что оно также кэшируется так немного быстрее.

Что касается сути вашего вопроса, компонент Text принимает строку в качестве входных данных для textSoore.text, и вы пытаетесь передать ей ссылку для преобразования. В этом случае вы должны делать

 textSoore.text = transform.position.ToString();

Хотя метод 'to string' часто можно опустить (это неявный вызов по умолчанию, который часто работает), но рассмотрение этой формы должно иметь больше смысла. Многие случаи ошибок очень легко обнаружить и предотвратить из-за того, что C # является языком с строгой типизацией, string = transform не имеет смысла, в то время как «получить преобразование vector3 из transform и преобразовать его в строку» делает

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