Unity中,我有一种图片,如何点击按钮让图片隐藏,再次点击显示,再点击隐藏...
在该图片下添加 eventsystem组件,直接搜就有
然后在eventsystem中添加pointclick类型的事件把图片拖入,选择gameobjct下的setactive就行了
方法有很多:
1.设置对象不处于活动状态,
gameObject.SetActive(false);
2.设置对象变透明:
[Range(0.01f,0.1f)]
public float spacingTime = 0.05f;
public bool isHidesLongTime = false;//是否需要长时间隐藏
private bool isBegin = false;
private float faded = 0f;
public void FadingAndFlicker()
{
//按钮控制开始,可以随时暂停恢复
isBegin = !isBegin;
StartCoroutine(GotoChange());
}
IEnumerator GotoChange()
{
float k = 0;
while(isBegin)
{
//利用Sin函数实现隐藏效果
if (Mathf.Sin(k) <= 0)
{
if (isHidesLongTime)
{
faded = 0;
}else
{
faded = 0;
k = 0;
}
}else
{
faded = Mathf.Sin(k);
}
//使对象变透明
if (gameObject.GetComponent<SpriteRenderer>() != null)
{
gameObject.GetComponent<SpriteRenderer>().color = new Color(1, 1, 1, faded);
}
else
{
gameObject.GetComponent<MeshRenderer>().material.color = new Color(1, 1, 1, faded);
}
k += 0.1f;
yield return new WaitForSeconds(spacingTime);
}
}
应该还有其他的,自己上网找找就有了
toggle似乎也可以实现!