Unity Standalone File Browser,Unity打开文件选择器

2024-04-12 18:52

本文主要是介绍Unity Standalone File Browser,Unity打开文件选择器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Unity Standalone File Browser,Unity打开文件选择器

下载地址:GitHub链接:

https://github.com/gkngkc/UnityStandaloneFileBrowser

简单的示例代码

using SFB;
using System;
using System.IO;
using UnityEngine;
using UnityEngine.UI;public class NewBehaviourScript : MonoBehaviour
{/// <summary>/// 用于显示图片的image/// </summary>public Image myimage;/// <summary>/// 图片选择按钮/// </summary>public Button btnSelect;/// <summary>/// 图片读取按钮/// </summary>public Button btnRead;private void Start(){btnSelect.onClick.AddListener(OnSelectImageButtonClicked);btnRead.onClick.AddListener(LoadAndDisplayBase64Image);}public void OnSelectImageButtonClicked(){//        // Open file with filter//        var extensions = new[] {//    new ExtensionFilter("Image Files", "png", "jpg", "jpeg" ),//    new ExtensionFilter("Sound Files", "mp3", "wav" ),//    new ExtensionFilter("All Files", "*" ),//};// Open file with filtervar extensions = new[] {new ExtensionFilter("Image Files", "png", "jpg", "jpeg" )};string[] paths = StandaloneFileBrowser.OpenFilePanel("Select Image", "", extensions, false);if (paths.Length > 0){string imagePath = paths[0];byte[] imageData = File.ReadAllBytes(imagePath);// 将图像数据转换为Base64字符串string base64ImageString = Convert.ToBase64String(imageData);// 将Base64字符串写入文本文件File.WriteAllText(Application.streamingAssetsPath + "/image_data.txt", base64ImageString);}}public void LoadAndDisplayBase64Image(){if (File.Exists(Application.streamingAssetsPath + "/image_data.txt")){// 从文件读取Base64字符串string base64ImageString = File.ReadAllText(Application.streamingAssetsPath + "/image_data.txt");// 将Base64字符串解码回字节数组byte[] imageData = Convert.FromBase64String(base64ImageString);// 创建Texture2D并加载图像数据Texture2D texture = new Texture2D(100, 100);texture.LoadImage(imageData);// 将Texture2D转换为Sprite并设置到Image组件上myimage.sprite = CreateSpriteFromTexture(texture);}}private Sprite CreateSpriteFromTexture(Texture2D texture){Rect rect = new Rect(0, 0, texture.width, texture.height);Vector2 pivot = new Vector2(0.5f, 0.5f);return Sprite.Create(texture, rect, pivot);}
}

场景布局
在这里插入图片描述

代码解析:
引用命名空间: using SFB;
两个按钮实现功能,一个image用于显示图片

        // Open file with filtervar extensions = new[] {new ExtensionFilter("Image Files", "png", "jpg", "jpeg" )};

添加过滤条件,效果如下图,在右下角
在这里插入图片描述

多条件过滤,

        // Open file with filtervar extensions = new[] {new ExtensionFilter("Image Files", "png", "jpg", "jpeg" ),new ExtensionFilter("Sound Files", "mp3", "wav" ),new ExtensionFilter("All Files", "*" ),};

效果在右下角
在这里插入图片描述

选择完毕之后,点击读取按钮会读取上面写如的base64文件,将图片显示到场景中

这篇关于Unity Standalone File Browser,Unity打开文件选择器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/897955

相关文章

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

C#和Unity中的中介者模式使用方式

《C#和Unity中的中介者模式使用方式》中介者模式通过中介者封装对象交互,降低耦合度,集中控制逻辑,适用于复杂系统组件交互场景,C#中可用事件、委托或MediatR实现,提升可维护性与灵活性... 目录C#中的中介者模式详解一、中介者模式的基本概念1. 定义2. 组成要素3. 模式结构二、中介者模式的特点

Python利用GeoPandas打造一个交互式中国地图选择器

《Python利用GeoPandas打造一个交互式中国地图选择器》在数据分析和可视化领域,地图是展示地理信息的强大工具,被将使用Python、wxPython和GeoPandas构建的交互式中国地图行... 目录技术栈概览代码结构分析1. __init__ 方法:初始化与状态管理2. init_ui 方法:

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S

MySQL 打开binlog日志的方法及注意事项

《MySQL打开binlog日志的方法及注意事项》本文给大家介绍MySQL打开binlog日志的方法及注意事项,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录一、默认状态二、如何检查 binlog 状态三、如何开启 binlog3.1 临时开启(重启后失效)

VS配置好Qt环境之后但无法打开ui界面的问题解决

《VS配置好Qt环境之后但无法打开ui界面的问题解决》本文主要介绍了VS配置好Qt环境之后但无法打开ui界面的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目UKeLvb录找到Qt安装目录中designer.UKeLvBexe的路径找到vs中的解决方案资源

IDEA下"File is read-only"可能原因分析及"找不到或无法加载主类"的问题

《IDEA下Fileisread-only可能原因分析及找不到或无法加载主类的问题》:本文主要介绍IDEA下Fileisread-only可能原因分析及找不到或无法加载主类的问题,具有很好的参... 目录1.File is read-only”可能原因2.“找不到或无法加载主类”问题的解决总结1.File

vscode不能打开终端问题的解决办法

《vscode不能打开终端问题的解决办法》:本文主要介绍vscode不能打开终端问题的解决办法,问题的根源是Windows的安全软件限制了PowerShell的运行,而VSCode默认使用Powe... 遇到vscode不能打开终端问题,一直以为是安全软件限制问题,也没搜到解决方案,因为影响也不大,就没有管

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

SQL server配置管理器找不到如何打开它

《SQLserver配置管理器找不到如何打开它》最近遇到了SQLserver配置管理器打不开的问题,尝试在开始菜单栏搜SQLServerManager无果,于是将自己找到的方法总结分享给大家,对SQ... 目录方法一:桌面图标进入方法二:运行窗口进入方法三:查找文件路径方法四:检查 SQL Server 安