Unity3D基础学习 利用NGUI的Texture播放视频
利用NGUI播放视频,首先你得导入你的视频
你的电脑中必须安装QuickTime软件,没有,去下一个,如果是Windows系统,安装完之后重启。
接下来转换你的视频格式,如果你的视频在QuickTime里无法播放,那么也无法在Unity里播放,把你的视频转为.MOV格式(如果你的视频无法在QuickTime里播放的话)。
当然,如果你不想在导入视频的时候等待Unity的转换,你可以事先把视频转换成OGV或者OGG格式的,因为这两种格式Unity默认是支持的,导入时无需转换,直接可以播放。
虽然网上说QuickTime支持的视频类型很多,但是实际中发现,同样的格式有的就能播放,有的就不能播放。所以在导入Unity之前先放到QuickTime里试试。
打入后会这样一个视频文件,一个声音文件(如果你的视频有声音的话)。
接下俩见一个NGUI的Texture控件,把视频拖入Texture属性中,再把1.audio拖到Texture控件下。如图。
再添加三个Button和一个slider分别控制播放,暂停,停止,以及播放进度。再在每个Button上添加ButtonMessage脚本,Target为Texture,FuntionName为moviePlaneButtons,用来给texture传递播放状态信息。
接下来就是播放代码。
//影片纹理,必须附加到游戏物体上才能播放(指定到工程视图内要播放的音频)
public MovieTexture _MoiveTexture;
float ftimeNow = 1;//当前播放时间
public UISlider _UISlider;//用来显示播放进度的进度条
string strPlayState = "null";//播放状态
void Start()
{
_MoiveTexture.loop = true;
//HideMoviePlane();
}
void Update()
{
TimeControl();
}
///控制影片和影片声音
void moviePlaneButtons(GameObject obj)
{
if (obj.name == "Btn-Play")
{
if (!_MoiveTexture.isPlaying)
{
//播放影片
_MoiveTexture.Play();
//播放物体上的声音(影片的子物体)
transform.audio.Play();
strPlayState = "Play";
}
}
if (obj.name == "Btn-Pause")
{
if (_MoiveTexture.isPlaying)
{
//暂停 再play就是继续
_MoiveTexture.Pause();
transform.audio.Pause();
strPlayState = "Pause";
}
}
if (obj.name == "Btn-Stop")
{
if (_MoiveTexture.isPlaying)
{
//结束 再play就是重新开始
_MoiveTexture.Stop();
transform.audio.Stop();
strPlayState = "Stop";
}
}
}
/// <summary>
/// 显示当前播放时间
/// </summary>
void TimeControl()
{
if (strPlayState == "Play")
{
ftimeNow = ftimeNow + 1 * Time.deltaTime;
}
else if (strPlayState == "Pause")
{ }
else if (strPlayState == "Stop")
{
ftimeNow = 0f;
}
_UISlider.value = (ftimeNow / _MoiveTexture.duration);
}
Unity3D基础学习 利用NGUI的Texture播放视频的更多相关文章
- Unity3D基础学习 NGUI自带Tooltip制作提示文字
简介 NGUI自带的的例子Character中含有一个Tooltip,可以鼠标悬浮到某对象时显示提示文字.非常方便. 创建UITooltip 首先你需要在场景NGUi相机下建立一个空物体我把它命名为T ...
- Unity3D基础学习 NGUI Example 7-Scroll View(Panel)制作固定包裹栏,点击传递参数显示物体
最终效果如下: 实现ScrollView主要是NGUI的三个脚本"UIDraggable Panel","UIGrid","UIDrag Panel ...
- Unity3D基础学习 NGUI之Example 13 - Tabs简要概述
首先建一个2D相机,在Anchor下新建一个子物体,添加WindowDrag Tilt脚本,用作拖动窗口 然后新建一个Panel,包含两个content,两个Tab,设置两个Content用来显示切换 ...
- Unity3D基础学习之AssetBundle 资源包创建与加载
前几天做了AssentBundle的例子,遇到了问题,在论坛上问了三天都没人解答,最后在一个朋友的帮助下解决了.下面介绍AssentBundle. AssetBundles让你通过WWW类流式加载额外 ...
- Unity3D基础学习 加载场景时隐藏物体,点击显示时显示物体
隐藏物体有两种方法,一是设置Meshrender为False,即不渲染物体. 二是设置物体为False,禁用物体,我使用的第二种. 当场景中需要隐藏的物体很多时,我们可以添加一个层来表示需要隐藏的物体 ...
- unity3D基础学习 通过判断鼠标点击的是否是目标物体,物体旋转,滑动滚轮缩放拉近视角
贴代码: 摄像机的拉近视角代码: public Transform target; public float minFov = 15f; public float maxFov = 7 ...
- 【wpf基础】wpf MediaElement全屏播放视频功能
最近在研究如何将视频全屏播放,一开始思路A:弹窗将MediaElement对象add到一个新的全屏窗体,报错 指定的元素已经是另一个元素的逻辑子元素.请先将其断开连接. 后续转换思路B:将本窗体其他控 ...
- iOS开发小技巧--利用苹果官方API播放视频(方法已经过时,了解一下)
- 跟我从零基础学习Unity3D开发--NGUI入门基础
英雄联盟(撸啊撸) QQ飞车 魔兽世界等等相信大家都玩过游戏吧,玩过那UI知道是什么吧?UI可能说得有点专业的话那么游戏中那些属性面板例如: 现在对UI有一定认识了吧!回想一下您玩过的游戏就一定知道什 ...
随机推荐
- Javascript 获取url参数,hash值 ,cookie
/** * 获取请求参数 * @param key * @returns {*} */ function getRequestParameter(key){ var params = getReque ...
- css3响应式布局
响应式布局 分栏布局,-webkit-column-width(定义每栏的宽度,会根据每栏宽度自动分成若干栏) <style> .wrap {width: 900px; border: 1 ...
- utils object doesn,t exists中毒后,就删除了.JS文件后台就出现了前面的英文。请问怎么解决
明显是你删了js丢失了函数了...从备份里还原一份.js出来放进去,前台也不能删,如果遇到名字冲突,修改一下名字即可
- sqlserver2008附加数据库——错误3415
权限问题, 在其文件,右击属性>安全>编辑>添加>加一个everyone单击确定>其完全控制, 这样给每个用户权限 ---来自凌波小屋----冯和超笔记-----
- Oauth支持的5类 grant_type 及说明
authorization_code 授权码模式(即先登录获取code,再获取token) password 密码模式(将用户名,密码传过去,直接获取token) client_credentials ...
- ARM内核和架构都是什么意思,它们到底是什么关系?
ARM产品越来越丰富,命名也越来越多.很多朋友提问: ARM内核和架构都是什么意思?内核和架构的关系是什么?比如ARMv7架构,这个架构指的是什么?小编选出了几个精彩回答!希望对嵌友们在选择设计电路时 ...
- ROS是Robot Operating System
ROS是Robot Operating System 机器人操作系统ROS | 简介篇 同样,从个人微信公众号Nao(ID:qRobotics)搬运. 前言 先放一个ROS Industrial一 ...
- UITextFiled自动补全输入,选中补全内容。NSRange和UITextRange的相互转换。-b
有个需求就是 需要用户输入几位以后账号,可以根据本地存储的登录成功的账号,进行自动补全,并且补全内容为选中状态,不影响用户的新输入. 研究了一下,下面是完整的实现的方法. 补充个下载地址http:// ...
- mongodb 教程一
mongodb是nosql(not only sql)的一种方式 .是对不同于传统的关系型数据库的数据库管理系统的统称. NoSQL - 代表着不仅仅是SQL- 没有声明性查询语言- 没有预定义的模式 ...
- UE标签排列方式
UE是一款很顺手的文件编辑软件.打开文本,都会有个标签.根据个人喜好,我喜欢标签都展开,方便快速选取指定文本. 设置如下: 高级>配置>应用程序布局>可停靠窗口>类型 ...