unity 5 c#enable禁用gameobject脚本

时间:2018-02-15 05:23:48

标签: c# if-statement unity3d unity5 gameobject

嗨我在c#&我正在编写一个脚本来启用/禁用 Unity 5 游戏对象点击另一个对象进行两个操作,第一部分运行正常,但在第二部分重新启用该对象显示此错误:

  

Assets / Script / Activar.cs(11,5):错误CS1519:意外符号“else”   在类,结构或接口成员声明中

这是剧本:

using System.Collections;
using UnityEngine;

public class Activar : MonoBehaviour {
	public GameObject modify;

	void Update () {
		if (Input.GetMouseButton (0))
			modify.SetActive (false);
	}
	        else {
			modify.SetActive (true);
		}
	}
	

那么我该怎么做才能解决这个问题呢? 谢谢:))

2 个答案:

答案 0 :(得分:5)

modify.SetActive (false);行后面的括号是Update函数的结束括号。所以你的else语句不在Update函数中。

if (Input.GetMouseButton (0))
            modify.SetActive (false);

这是一个封闭的if语句。

这应该是

using System.Collections;
using UnityEngine;

    public class Activar : MonoBehaviour {
        public GameObject modify;

        void Update () {
            if (Input.GetMouseButton (0))
                modify.SetActive (false);
            else 
                modify.SetActive (true);
        }
    }

答案 1 :(得分:0)

Input.GetMouseButtonDown(0);

我认为这是对鼠标左键的正确调用。也许这就是为什么您的代码无法正常工作的原因?