Unity3D实现自动读取Assets目录中某一文件夹内的所有文件并生成相应文件名称按钮

功能大致描述

      在日常开发过程中,我们会遇到以下需求;假设我们的所有视频都保存在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、添加按钮监听事件,实现点击按钮播放视频

 代码;

运行效果;

 以上就是该功能的大致实现流程,若需要加载图片或者文本也使用类似方法。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值