NGUI之视频接入与播放控制

   今天在做项目时,需要给游戏加待机视频,我用的是NGUI,在网上搜了一下,都是讲的unity接视频,对于ngui没有可参照的方法,于是自己就想了一个方法,效果很好,在此就分享给大家。

   首先用NGUI制作游戏场景,场景如下:

   其中PLAY、PAUSE、STOP三个按钮分别控制视频的播放、暂停、停止
NGUI之视频接入与播放控制_第1张图片

    Project视图如下:

    PlayVideo为控制视频播放的脚本,绑定在Camera上,文件夹Videos下的NGUI 3.0.7video为一个讲解NGUI的视频资源

NGUI之视频接入与播放控制_第2张图片

     Hierarchy视图如下:

NGUI之视频接入与播放控制_第3张图片

    其中PlayBtn按钮控制视频播放,PauseBtn按钮控制视频暂停,StopBtn按钮控制视频停止,Video为NGUI的Texture对象,下面主要讲该对象,选择Video,其Inspector面板如下所示:

NGUI之视频接入与播放控制_第4张图片

   如上图所示,将Projcetor面板下的Videos文件夹中的NGUI 3.0.7video视频资源拖入上图的1区域,在2区域设定视频的播放窗口和NGUI摄像机的窗口同样大小,下面就是脚本控制了,直接上代码:

using UnityEngine;
using System.Collections;

public class PlayVideo : MonoBehaviour {

    MovieTexture videoSource;//视频资源
    GameObject videoBind;//视频对象

	void Start () {
        videoBind = GameObject.Find("Video");
        videoSource =  (MovieTexture)videoBind.GetComponent().mainTexture;//将视频对象的mainTexture赋予视频资源
        videoSource.loop = true;//设置视频为循环播放
	}

    /// 
    /// 播放按钮回调函数
    /// 
    public void PressPlayButtonDownCallback()
    {
        if (!videoSource.isPlaying)
        {
            videoSource.Play();
        }
    }
    /// 
    /// 暂停按钮回调函数
    /// 
    public void PressPauseButtonDownCallback()
    {
        if (videoSource.isPlaying)
        {
            videoSource.Pause();
        }
    }
    /// 
    /// 停止按钮回调函数
    /// 
    public void PressStopButtonDownCallback()
    {
        if (videoSource.isPlaying)
        {
            videoSource.Stop();
        }
    }
}

    如上所示,就是这么简单,三个回调函数分别和按钮PlayBtn、PauseBtn、StopBtn相连接即可

点击运行就可以看到视频播放效果了!

 

 

你可能感兴趣的:(Unity3d,算法,NGUI,软件设计)