Я создал простую двухмерную карточную игру в Unity. Пока пользователь играет в игру, захватывается определенная информация, например (счет, попытки, время), когда пользователь выигрывает или проигрывает игру, затем соответствующая сцена (игра over or Win scene) запускается, в этих двух сценах идентификаторы любят копировать информацию из партитуры, попыток, временных полей игры на соответствующие метки gameOver или Win, но, похоже, я что-то делаю не так ...
Я пытался найти одинаковые вопросы в StackOverflow, YouTube, Web, я проверил документацию и попробовал разные подходы.
Ниже приведен код, с которым я работаю в данный момент, который мне кажется правильным, я не получаю никаких ошибок, только метки не появляются.
'''
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class win_results : MonoBehaviour
{
//public options script;
public Text score_final_text;
public Text tries_final_text;
public Text time_final_text;
public void player_win_results(){
// script = a.getComponent<options>();
if(options.user_lvl_choice=="easy"){
GameObject tries_final = GameObject.Find("tries_text_lvl1"); //finds the object named score_results
tries_final_text.text = tries_final.GetComponent<Text>().text + "a"; //gets the Text property of it.
GameObject time_final = GameObject.Find("TimeCounter_lvl1"); //finds the object named score_results
time_final_text.text = time_final.GetComponent<Text>().text + "a"; //gets the Text property of it.
GameObject score_final = GameObject.Find("score_lvl1"); //finds the object named score_results
score_final_text.text = score_final.GetComponent<Text>().text + "a"; //gets the Text property of it.
}
else if(options.user_lvl_choice=="hard"){
GameObject tries_final = GameObject.Find("tries_text_lvl2"); //finds the object named score_results
tries_final_text.text = tries_final.GetComponent<Text>().text + "a"; //gets the Text property of it.
GameObject time_final = GameObject.Find("TimeCounter_lvl2"); //finds the object named score_results
time_final_text.text = time_final.GetComponent<Text>().text + "a"; //gets the Text property of it.
GameObject score_final = GameObject.Find("score_lvl2"); //finds the object named score_results
score_final_text.text = score_final.GetComponent<Text>().text + "a"; //gets the Text property of it.
}
}
как показано в коде выше, я использую GameObject.Find, как указано в документации, я дважды проверил имена и опечатки, скрипты правильно подключены, я не получаю ошибок на выходе, просто ничего не происходит.
Как вы можете видеть выше, я добавил дополнительный символ "a" в конце для целей отладки, символ "a" также не отображается в выводе, что означает, что поиск gameObject не работает правильно в моем примере.
Что я делаю не так?
Заранее спасибо.