2
我正在開發一個項目,需要我訪問多個不同的二維數組,以進行會話映射。我有兩個不同的類,talkinterface是與調用其他的對話類busstaionconvo的代碼的主類。但是,當我調用它並顯示字符串[]時,它將返回爲空值。任何人都可以幫我解決這個問題嗎?我正在用MonoDevelop編寫C#,使用Unity遊戲引擎,代碼如下。二維數組重新調整爲空
主類talkinterface部分代碼:
...public class talkinterface : MonoBehaviour {
....ai = new string[,]{
{"",""}
};
public static void eOption(bool eval, string response){
if(response == "bus"){
Debug.Log (ai); //DISPLAYS string[]
responses = busstationconvo.responses;
ai = busstationconvo.ai;
Debug.Log (busstationconvo.responses); //DISPLAYS null
Debug.Log (ai); //DISPLAYS null
}
}
第二類busstationconvo整個代碼:
using UnityEngine;
using System.Collections;
public class busstationconvo : MonoBehaviour {
public static string[,] ai;
public static string[,] responses;
// Use this for initialization
void Start() {
ai = new string[,]{
{"Hola, bienvenido al estacion del autobus." , "0"},
{"Estoy bien y tu?", "1"},
{"Esta es el estation de autobuses.","2"},
{"Que necesitas?","3"},
{"Si, tengo un boleto, cuesta dos dolares.","4"},
{"Para usar el autobus, necesitas un boleto.","5"},
{"Gracias, aqui esta tu boleto.","6"}
};
responses = new string[,]{
//HOLA 0
{"Hola, como estas? ","1"},
{"Que es este lugar?","2"},
{"Necesito ayuda por favor.","3"},
{"Adios.","999"},
//ESTOY BIEN Y TU? 1
{"Estoy bien, adios ","999"},
{"Bien, pero que es este lugar?","2"},
{"Bien pero, necesito ayuda por favor.","3"},
{"Adios.","999"},
//THIS IS THE BUS STATION 2
{"Claro, adios.","999"},
{"Gracias, pero necesito ayuda por favor","3"},
{"Adios.","999"},
{"","2"},
//WHAT HELP DO YOU NEED 3
{"Nada, adios.","999"},
{"Necesito un boleto.", "4"},
{"Necesito un autobus.","5"},
{"Adios.","999"},
//IT COSTS 2 DOLLARS 4
{"Que caro, no gracias.","999"},
{"Que ganga! Tengo dos dolares.", "6"},
{"Por su puesto, tengo dos dolares.","6"},
{"Adios.","999"},
//YOU NEED A TICKET 5
{"Tienes un boleto?","4"},
{"","5"},
{"","5"},
{"","5"},
//HERE’S YOUR TICKET 6
{"Gracias, adios.","999"},
{"","6"},
{"","6"},
{"","6"}
};
}
// Update is called once per frame
void Update() {
}
}
任何幫助將不勝感激!
你確定'Start()'在你訪問'ai'和'respond'之前被調用了嗎? (順便說一句,我不認爲* monodevelop *標籤對於這個問題是有用的,因爲它與MonoDevelop沒有什麼關係。) – 2013-03-15 14:58:18
如果你需要一個字符串字符串字典,你應該使用一個'Dictionary ',而不是一個數組。另外,明智地堅持代碼慣例爲.NET或單聲道,即:公共方法是PascalCase,而不是camelCase。 –
istepaniuk
2013-03-15 14:58:34
你打算將'busstationconvo'連接到多個對象嗎?如果是這樣,每個附加的'busstationconvo'將(重新)實例化'ai'和'響應'。另外@ O.R.Mapper說,這將有助於看到eOption呼叫站點。 – Jerdak 2013-03-15 18:48:39