Unity中MovieTexture的使用
感觉这个写了也是和别人的差不多,但是我还是想写,毕竟自己以后找起来也比较方便。
我是根据Resource加载的视频,然后视频播放是根据按钮点击判断要播放的是哪一个视频,然后跳转到另外一个场景播放的,所以使用了Resource。
有参考别人的文档~
有了个bug,修改了~ 修改后的我加了橙色字体
- public class UIPlayMovieView : UISceneViewBase
- {
- public static MovieTexture m_movieTexture; //影片纹理,这个我是在另外一个类中调用的,通过Resource加载为他赋值
- [SerializeField]
- private GameObject m_PlayMoviePlane; //这个是个Plan,我是在Plan上面进行播放的
- void Start()
- {
- m_PlayMoviePlane.GetComponent<Renderer>().material.mainTexture = m_movieTexture;
- m_movieTexture.Play();//跳转场景就进行播放
- }
- string m_BtnName;//这是我用来记录点击按钮名字的string变量
- protected override void OnBtnClick(GameObject go)//这个方法是重写的,在父类写了添加事件的方法
- {
- base.OnBtnClick(go);
- //根据按钮的名字执行相应的方法
- switch (go.name)
- {
- case "PlayBtn":
- if (!m_movieTexture.isPlaying)
- {
- if (m_BtnName== "PauseBtn")//判断一下上次记录的名字是否会PauseBtn
- {
- m_movieTexture.Play();
- m_BtnName = "PlayBtn"
- }
- else//否则就重新播放
- {
- m_movieTexture.Stop();
- m_movieTexture.Play();
- }
- }
- break;
- case "PauseBtn":
- m_BtnName = "PauseBtn";
- m_movieTexture.Pause();
- break;
- case "StopBtn":
- m_movieTexture.Stop();
- break;
- }
- }
- }