1
我在Unity中製作了一個文字遊戲,其中有很多GameObjects。每個GameObject名稱是從A到Z的一個字母。unity3d消失Gameobject
當我單擊該對象時,該字母出現在屏幕上。當我寫了一個字時,它會將它與字典進行比較,看它是否正確。我想,當我從這些字母中選出一個正確的單詞並單擊該按鈕時,GameObject就會包含這些字母,這些字母就是我所做的單詞消失的。
下面是代碼:
internal void ReadStudent(string filetoread,string tableName, string itemToSelect, string wCol, string wPar, string wValue){
//jsScript = Camera.main.GetComponent<chk1>();
string connection = "Driver={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=" + filetoread;
Debug.Log(connection);
string sqlQuery = "SELECT word FROM "+ tableName + " WHERE " + wCol + " " + wPar + " '" + wValue + "'";
OdbcConnection con = new OdbcConnection(connection);
OdbcCommand cmd = new OdbcCommand(sqlQuery,con);
DataTable dt = new DataTable("dic");
try{
con.Open();
OdbcDataReader reader = cmd.ExecuteReader();
dt.Load(reader);
reader.Close();
con.Close();
}
catch (Exception ex){
//text = dt.Rows[3][1].ToString();
Debug.Log(ex.ToString());
}
finally{
if (con.State!=ConnectionState.Closed){
con.Close();
}
con.Dispose();
}
if (dt.Rows.Count>0){
text = dt.Rows[0]["word"].ToString();
Debug.Log(text);
Debug.Log (wValue);
Debug.Log ("Correct");
for(int i=0; i<=wValue.Length;i++){
Debug.Log ("Enter");
if(wValue[i]==gameObject.name[i]){
Debug.Log ("Enter");
gameObject.SetActive (false);
}
}
}
}
['GameObject.Destroy(遊戲對象)'](http://docs.unity3d.com/Documentation/ScriptReference/Object.Destroy.html)應做的伎倆。 –
在我的遊戲中,gameObject正在運行時創建名稱,如A(克隆)GameObject.Destroy。(gameObject)不適用於它。我怎麼能得到在運行時創建的gameObject – zahra
我的意思是說,gameObject必須是對你想銷燬的對象的引用。當你創建這個對象時,你應該在那個時候引用它,也許你可以將它們存儲在一個列表中,然後通過並在以後刪除它們?有點取決於如何佈置所有東西 –