Можно ли изменить переменную в другой сцене в единстве. У меня есть скрипт прямо сейчас, когда пользователь выбирает 5 героев, и эти 5 героев сохраняются в массиве, но для того, чтобы игра работала так, как я этого хочу, этот массив будет в другой сцене, и я не уверен, как чтобы сохранить данные пяти героев в массив в другой сцене. Я могу сделать все это в одной сцене, но 2 сцены будут более эффективными. Вот мой код:Доступ к переменной в другой сцене
using UnityEngine;
using System.Collections;
public class HeroChooser : MonoBehaviour {
public static GameObject Archer;
GameObject Berserker;
GameObject Rouge;
GameObject Warrior;
GameObject Mage;
GameObject MainCamera;
public int counter = 0;
public bool archerOn = false;
public bool berserkerOn = false;
public bool rougeOn = false;
public bool mageOn = false;
public bool warriorOn = false;
// Use this for initialization
void Start() {
}
// Update is called once per frame
void Update() {
}
void OnGUI(){
if(archerOn == false){
if (GUI.Button (new Rect(50,0,50,50), "Archer")){
Archer = GameObject.Find("Archer");
MainCamera = GameObject.Find("Main Camera");
HeroArraySaver heroArraySaver = MainCamera.GetComponent<HeroArraySaver>();
heroArraySaver.array[counter] = Archer;
archerOn = true;
counter++;
}
}
Ее говорит, что: Статический член HeroArraySaver.array
не может быть доступна с ссылкой экземпляра, квалифицировать его с именем типа, а не им не уверен, как идти о ее исправлении.
Thanks for the response плохо использовал это спасибо! Но как я могу получить доступ и изменить переменные в другой сцене? – user195122
Просто найдите свой GameObject (возможно, по имени) и используйте GetComponent для извлечения вашего компонента данных. Затем вы можете изменить его по своему усмотрению. – Bart