在Unity C#中禁用附加到游戏对象的脚本

6

我有一个更新函数,它将检查某个值是否等于true,如果是,则运行一些代码,但然后我希望整个脚本被禁用。请帮忙,谢谢!


不起作用。或者您可以再解释一下吗? - alexo1001
添加一个名为enabled的公共布尔型变量,当你想要禁用它时将其设置为true,在主代码执行中检查它是否为true,如果是,则退出而不执行任何操作。 - Gusman
好的,你能给我们展示一下代码吗? - Paweł Marecki
是的,这就是代码。https://github.com/AreoBlazeStudios/MINI-TANKS/blob/master/EmailSender.cs - alexo1001
显示剩余2条评论
3个回答

11
您应该使用一个“启用”字段。请尝试按照此处的步骤进行操作。
gameObject.GetComponent<EmailSender >().enabled = false;

你说它不工作是什么意思?你期望它做什么,它又做了什么? - HoloLady
我想要禁用脚本,这样它就不能再被使用了。 - alexo1001
@alexo1001 然后你需要使用 yourGameObject.setActive(false); - HoloLady

0

这个会起作用:

public GameObject otherobj;//your other object
public string scr;// your secound script name
void Start () {
    (otherobj. GetComponent(scr) as MonoBehaviour).enabled = false;
}

0

您可以使用以下语法禁用脚本组件:

GameObject.Find("Cube").GetComponent<MoveObject>().enabled = false;

在这里,我禁用了名为 Cube 的对象上的 MoveObject 脚本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接