功能大致描述
在日常开发过程中,我们会遇到以下需求;假设我们的所有视频都保存在Assets目录下的某一文件夹中时,需要根据所有的视频名称自动生成相应的按钮,然后点击按钮后在视频框中播放对应的视频。
实现方法
一、将所需视频拖入到Unity中Assets目录下的文件夹内,这里我拖到了StreamingAssets文件夹中。
二、制作UI面板,面板包含2个区域即可;视频按钮区域和视频播放区域,可根据需求自行拓展,大致面板如下;
1、视频目录框的设置;在左侧视频目录面板中需要添加Grid Layout Grop组件,保证生成的视频名称按钮能自动排序。
2、视频框的设置;在视频框中创建一个RawImage,根据调整合适大小,为其添加Video Player视频播放组件。
然后创建一个 Render Texture 材质,调整尺寸和视频框大小一致,将其拖动到RawImage组件中的Texture处,再拖动至Video Player组件中的Target Texture处。
3、视频名称按钮的制作;在视频目录面板中创建一个button,通过Grid Layout Group组件调整按钮至合适大小,然后将按钮拖动到Assets目录下的prefabs文件夹中制作成预制体,然后删除面板中的按钮。
三、添加控制脚本;创建一个脚本UIPanel_VideoControl,将脚本与面板绑定,脚本名称可自拟,尽量与面板名称保持一致,方便后续查找和管理。
1、读取视频文件
代码;
执行情况;正常打印视频名称+文件后缀
2、实例化视频名称按钮
代码;
运行效果;
3、添加按钮监听事件,实现点击按钮播放视频
代码;
运行效果;
以上就是该功能的大致实现流程,若需要加载图片或者文本也使用类似方法。