输入`UnityEngine.GameObject'不包含`setActive'的定义(统一)

时间:2017-12-07 09:01:17

标签: c# unity5

我正在Unity中制作一款游戏,我需要在其中禁用并启用gameObject,我认为itemBought.setActive(false); line (21,14)可以正常运行,但事实并非如此。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class ItemManager : MonoBehaviour {

public HandInClicker handClicker; // sælg Assignments btn.
public AssClicker assClicker; // Assignments btn.
public AssBarControl assBarControl; // Loading Bar til Assignments.
public Button enableBuyBtn; // opgraderings btn.
public GameObject itemBought; // Når der er købt et item f.eks. "Pencil" så kommer det er billede frem så man ikke kan købe den igen.
public Text itemInfo; // Det er det text element som "itemName" skal stå i.
public string itemName; // Hvad opgraderingen er f.eks. en ny blyant.
public float apcUpgarde; // Hvor meget mere man får i "assPerClick" for opgraderingen.
private float baseCost; // hvormeget opgraderingerne koster når spillet starter.
public float cost; // Hvor meget opgraderingen koster.

void Start(){
    enableBuyBtn.interactable = false;
    itemBought.setActive(false);
    baseCost = cost;
}

void Update(){
    if (handClicker.handIn >= cost){
        enableBuyBtn.interactable = true;
    }
    itemInfo.text = itemName + "\nCost: " + "$" + cost.ToString("F0") + "\n" + "+" + apcUpgarde + " A/pc";
}

public void PurchasedUpgrade(){
    if(handClicker.handIn >= cost){
        handClicker.handIn -= cost;
        assClicker.assPerClick += apcUpgarde;
        enableBuyBtn.interactable = false;
        itemBought.setActive(true);
    }
}

}

什么会更好/更好? 现在我得到了:

  

错误"(21,14):错误CS1061:输入UnityEngine.GameObject'不包含setActive的定义,也没有类型为UnityEngine.GameObject的扩展方法setActive'可以找到。你错过了汇编参考吗?"`

1 个答案:

答案 0 :(得分:1)

  1. 查找对GameObject
  2. 的引用
  3. 调用SetActive()
  4. 例如,对于UI Button

    using UnityEngine.UI;
    ...
    aButton.gameObject.SetActive (false);
    

    @volundi所述, C#区分大小写。