2016-06-19 2 views
0

Я новичок в единстве, и у меня есть вопрос bewbie: на моем начальном экране У меня есть текстовый объект, и я хочу, чтобы при загрузке сцены изменилось значение этой текстовой метки (для пример для получения наилучшего результата).единство изменение текст ярлык

так что я хочу сделать что-то вроде этого:

GetComponent<GUIText>().text = "Best: " + PlayerPrefs.GetInt("highscore", 0);

Но, как я называю этот сценарий, когда сцена загружается? как я могу называть правильный текст gui с названием «Лучший» текст?

спасибо

EDIT: Я попытаюсь прояснить мой сам и сделать его более общий вопрос: как я могу выполнить код в единстве, когда игра нагрузки? какой объект мне нужно создать, например, что сразу, когда основной экран игры загружается, он также генерирует некоторый код? Awake()? где именно я реализую этот активный метод?

+0

(1) открытое единство, нажмите «Добавить холст» (подсказка, выберите «масштаб с размером экрана» - вы всегда этого хотите). (2) нажмите «Добавить текст» (или, если вам нравится кнопка, слайдер и т. Д. И т. Д.). Все готово. Вы не можете использовать древнюю систему «gui» - она ​​устарела. Не используйте его. – Fattie

ответ

0

Но как я могу назвать этот скрипт при загрузке сцены? как я могу называть правильным текстом gui с названием «Лучший» текст?

Не знаете, в чем проблема, потому что ваш код верен. Похоже, вы ищете способ поиска GameOBject под названием «Лучший», а затем подключите к нему подключенный компонент GUIText.

Если это то, что вы хотите, то вам нужно использовать GameObject.Find("Best"), чтобы найти его потом использовать GetComponent<GUIText>() на этом GameObject вы нашли, чтобы получить GUIText компонент, который прилагается к этому GameObject.

GUIText bestScore; 

void Start() 
{ 
    //Find the GameObject named Best in the scene 
    GameObject scoreGameObject = GameObject.Find("Best"); 

    //Get the GUIText Component attached to that GameObject named Best 
    bestScore = scoreGameObject.GetComponent<GUIText>(); 

    //Load score 
    bestScore.text = "Best: " + PlayerPrefs.GetInt("highscore", 0); 
} 
+0

спасибо, это действительно то, что я искал. это направляет меня на второй вопрос: как я могу получить номер телефона, когда пользователь открывает игру? с андроид-студией. Я знаю, я просто использую объект TelephonyManager и использует методы getSystemService, но в единстве я понятия не имею ... никакой помощи? –

+0

@ danijinji Зачем вам нужен номер телефона пользователя в игровом приложении? В любом случае, для этого вам нужно написать плагин. Вы должны знать, как это сделать в Java, а затем преобразовать Java-код в плагин и вызвать его из C#. Вот и все. Вы можете Google, как сделать плагин Unity Android, и получится много результатов. – Programmer

+0

привет, я хочу сделать это для практики. Я знаю, как это сделать в java-андроидной студии, можете ли вы быть более конкретным, пожалуйста, что я должен искать в Google, чтобы сделать этот плагин или, например, читать плагин контактов? –

Смежные вопросы