Unity显示GIF图片,支持暂停、播放
-
Unity自身是不支持gif图片的显示,本文,我就给大家演示一下如何在Unity中显示gif图片
-
文章最后为附上下载地址 demo下载地址
-
-
准备一张gif图片,放在项目Assets文件夹中。
-
创建一张RawImage,挂上UniGifImage组件,此时会自动挂上UniGifImageAspectController组件,如下:
-
制作UI&编写代码
using System.Collections;
using UnityEngine;
using UnityEngine.UI;
/// <summary>
/// gif显示测试
/// </summary>
public class UniGifTest : MonoBehaviour
{
public InputField gifUrlInput;
public UniGifImage gifImage;
public Button loadBtn;
public Button playBtn;
public Button stopBtn;
public Button pauseBtn;
public Button resumeBtn;
/// <summary>
/// 锁
/// </summary>
private bool m_mutex;
private void Start()
{
loadBtn.onClick.AddListener(() =>
{
if (m_mutex || gifImage == null || string.IsNullOrEmpty(gifUrlInput.text))
{
return;
}
m_mutex = true;
StartCoroutine(ViewGifCoroutine());
});
playBtn.onClick.AddListener(() => { gifImage.Play(); });
stopBtn.onClick.AddListener(() => { gifImage.Stop(); });
pauseBtn.onClick.AddListener(() => { gifImage.Pause(); });
resumeBtn.onClick.AddListener(() => { gifImage.Resume(); });
}
private IEnumerator ViewGifCoroutine()
{
yield return StartCoroutine(gifImage.SetGifFromUrlCoroutine(gifUrlInput.text));
m_mutex = false;
}
}
6.最后运行Unity,看效果(gif如果较大加载会慢)