unity图形圆形展开

脚本如下:

<span style="color: #0000ff">public <span style="color: #0000ff">class<span style="color: #000000"> CircleExpandImage : MonoBehaviour {
<span style="color: #0000ff">public
<span style="color: #0000ff">float
timeSeconds =<span style="color: #000000"> 5f;
<span style="color: #0000ff">public
<span style="color: #0000ff">float timeInterval = <span style="color: #800080">0.05f<span style="color: #000000">;

</span><span style="color: #0000ff"&gt;private</span><span style="color: #000000"&gt; Image image;
</span><span style="color: #0000ff"&gt;private</span> <span style="color: #0000ff"&gt;float</span><span style="color: #000000"&gt; duration;

</span><span style="color: #0000ff"&gt;void</span><span style="color: #000000"&gt; Start()
{
    gameObject.SetActive(</span><span style="color: #0000ff"&gt;false</span><span style="color: #000000"&gt;);
    image </span>= GetComponent<Image><span style="color: #000000"&gt;();
    image.type </span>=<span style="color: #000000"&gt; Image.Type.Filled;
    image.fillAmount </span>=<span style="color: #000000"&gt; 0f;
    image.fillOrigin </span>= (<span style="color: #0000ff"&gt;int</span><span style="color: #000000"&gt;)Image.Origin90.TopRight;
    duration </span>= <span style="color: #800080"&gt;0</span><span style="color: #000000"&gt;;
}

</span><span style="color: #0000ff"&gt;public</span> <span style="color: #0000ff"&gt;void</span><span style="color: #000000"&gt; begin()
{
    gameObject.SetActive(</span><span style="color: #0000ff"&gt;true</span><span style="color: #000000"&gt;);
    StartCoroutine(DrawCircleImage());
}

IEnumerator DrawCircleImage()
{
    Debug.Log(System.DateTime.Now);
    </span><span style="color: #0000ff"&gt;yield</span> <span style="color: #0000ff"&gt;return</span> <span style="color: #0000ff"&gt;new</span><span style="color: #000000"&gt; WaitForSeconds(timeInterval);
    </span><span style="color: #0000ff"&gt;while</span> (duration <<span style="color: #000000"&gt; 1f)
    {
        duration </span>+= 1f / ((timeSeconds - <span style="color: #800080"&gt;0.1f</span>) / timeInterval) * <span style="color: #800080"&gt;2</span><span style="color: #000000"&gt;;
        image.fillAmount </span>=<span style="color: #000000"&gt; duration;
        </span><span style="color: #0000ff"&gt;yield</span> <span style="color: #0000ff"&gt;return</span> <span style="color: #0000ff"&gt;new</span><span style="color: #000000"&gt; WaitForSeconds(timeInterval);
    }
    Debug.Log(System.DateTime.Now);
}

}

挂到image上,调用begin方法即可。

相关文章

这篇文章主要介绍了Unity游戏开发中外观模式是什么意思,具有...
这篇文章主要介绍Unity中地面检测方案的示例分析,文中介绍的...
这篇文章主要介绍了Unity游戏开发中如何消除不想要的黄色警告...
这篇文章主要介绍了Unity中有多少种渲染队列,具有一定借鉴价...
这篇文章主要介绍Unity中如何实现Texture,文中介绍的非常详...
小编给大家分享一下Unity中DOTS要实现的特点有哪些,相信大部...