【发布时间】:2015-07-24 16:45:30
【问题描述】:
如何正确禁用GameObject 中的按钮?到目前为止,我的代码正在返回错误:
NullReferenceException:对象引用未设置为 对象LoadGallery.nextImage()。
此错误来自以下行:
Button btn = nextBtn.GetComponent<Button>();
我不明白为什么引用无效。还有将 if-else 语句中的重复代码合并到一个位置的最佳做法吗?
// Increment through gallery
if(currentIndexArray < galleryImages.Length)
{
StartCoroutine("loader", currentIndexArray++);
}
// Disable Next Button when the end is reached
if(currentIndexArray == galleryImages.Length)
{
GameObject nextBtn = GameObject.FindGameObjectWithTag("NextBtn");
Button btn = nextBtn.GetComponent<Button>();
btn.enabled = false;
btn.interactable = false;
}
else
{
GameObject nextBtn = GameObject.FindGameObjectWithTag("NextBtn");
Button btn = nextBtn.GetComponent<Button>();
btn.enabled = true;
btn.interactable = true;
}
【问题讨论】: