https://media.giphy.com/media/WrOMxTqq1IxmytsvPQ/giphy.gif
请参阅上面的gif,以更好地了解发生了什么。第一次单击时,它们都可以正常工作,但是第一次单击后,我必须双击它们以选择它们。我不是一个高级开发人员,所以我一直试图连续两个小时弄清楚这个问题,我想问你们一个最后的选择。
我在这里声明了选择效果。 (白色圆圈),并添加了一个数组以获取所有选择效果。
public GameObject selectEffect;
private bool isSelected = false;
public GameObject[] selectEffectArray;
我将它们放在数组中。
private void Awake()
{
selectEffectArray = GameObject.FindGameObjectsWithTag("planetSelected");
selectEffect = transform.Find("selectEffect").gameObject;
}
我在启动时停用了所有选择效果。
void Start()
{
Deactivate();
}
此处是停用代码。
void Deactivate()
{
foreach (GameObject effect in selectEffectArray)
{
effect.SetActive(false);
}
}
当我单击其中一颗行星时,就会发生这些情况。 (我有些困惑,希望您能理解。)
void OnMouseUp()
{
if (isSelected)
{
selectEffect.SetActive(false);
travelbutton.SetActive(false);
isSelected = false;
}
else
{
Deactivate();
planetName_text.text = planet.name;
requiredFuel_text.text = planet.requiredFuel.ToString();
travelbutton.SetActive(true);
selectEffect.SetActive(true);
isSelected = true;
}
}
我不想双击一个行星来选择它。