【发布时间】:2014-01-12 06:02:53
【问题描述】:
是否可以统一更改另一个场景中的变量。我现在有一个脚本,让用户选择 5 个英雄,这 5 个英雄被保存到一个数组中,但是为了让游戏按照我想要的方式运行,该数组将在另一个场景中,我不确定如何将五个英雄的数据保存到另一个场景中的数组中。我可以在一个场景中完成所有操作,但两个场景会更有效率。这是我的代码:
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 不能用实例引用访问,用类型名称限定它而不是我不知道如何修复它。
【问题讨论】: