unity3d中消失的游戏对象

unity3d中消失的游戏对象,unity3d,Unity3d,我正在统一制作一个文字游戏,其中有许多游戏对象。每个游戏对象名称都是一个从a到Z的字母 当我点击这个对象时,这个字母出现在屏幕上。当我造出一个单词时,它会把它和字典进行比较,看它是否正确。我希望当我从字母中选择一个正确的单词并点击按钮时,游戏对象中包含的字母会消失 代码如下: 内部void ReadStudentstring filetoread、string tableName、string itemToSelect、string wCol、string wPar、string wValue{

我正在统一制作一个文字游戏,其中有许多游戏对象。每个游戏对象名称都是一个从a到Z的字母

当我点击这个对象时,这个字母出现在屏幕上。当我造出一个单词时,它会把它和字典进行比较,看它是否正确。我希望当我从字母中选择一个正确的单词并点击按钮时,游戏对象中包含的字母会消失

代码如下:

内部void ReadStudentstring filetoread、string tableName、string itemToSelect、string wCol、string wPar、string wValue{ //jsScript=Camera.main.GetComponent; 字符串连接=驱动程序={Microsoft Access驱动程序*.mdb,*.accdb};DBQ=+filetoread; 调试日志连接; string sqlQuery=从+tableName+WHERE+wCol++wPar+'+wValue+'中选择单词; OdbcConnection con=新的OdbcConnection连接; OdbcCommand cmd=new-OdbcCommandsqlQuery,con; DataTable dt=新的DataTabledic; 试一试{ 不公开; OdbcDataReader=cmd.ExecuteReader; dt.Loadreader; 读者。关闭; con.关闭; } 捕获异常{ //text=dt.Rows[3][1].ToString; Debug.Logex.ToString; } 最后{ 如果con.State!=ConnectionState.Closed{ con.关闭; } con.处置; } 如果dt.Rows.Count>0{ text=dt.Rows[0][word].ToString; Logtext; Log wValue; 调试。日志正确;
forint i=0;i如果你想删除游戏对象,你可以使用Destroy gameObject,或者我不建议它Destroy immediategameobject

否则,更有效的方法是停用它,然后在必要时使用gameObject.SetActivefalse重新激活它

记住,当我说game gameObject时,我指的是等于要销毁的游戏对象的gameObject变量,例如:

using UnityEngine;
using System.Collections;

//You need to assign it in the Start() or from the editor
public GameObject A;

public class ActiveObjects : MonoBehaviour
{
    void Start ()
    {
        //to deactivate it
        A.SetActive(false);

        //to activate it
        A.SetActive(true);
    }
}
如果您要使用gameObject,则最终会删除/停用正在执行脚本的gameObject

希望你觉得这个有用


Alex

应该这样做。在我的游戏中,游戏对象是在运行时创建的,名称类似于AClone gameObject.Destroy.gameObject,但它不起作用。如何让游戏对象在运行时创建我的意思是,游戏对象必须是你要销毁的对象的引用。当你创建对象时,你应该有一个参考它,也许你可以将它们存储在一个列表中,然后再查看并删除它们?这取决于所有内容的布局可能gameObject.setActivefalse;是一个解决方案。