C# 文件选择对话框,Unity3d文件保存对话框
using OpenWinForm = System.Windows.Forms;
在unity3d中,使用FileDialog应该把System.Windows.Forms.dll拷贝到unity工程的plugins目录,
并且把Player Setting中Other Settings下的api compatibility Level改为.NET2.0。要不无法编译通过。
//比如unity3d要让用户选择某一个音乐文件播放;
private void SelectMusic(){
OpenWinForm.OpenFileDialog op = new OpenWinForm.OpenFileDialog();
op.Title = "音乐";
op.Filter = "音频文件(*.wav;*.ogg)|*.wav;*.ogg";
if (op.ShowDialog() == OpenWinForm.DialogResult.OK || op.ShowDialog() == OpenWinForm.DialogResult.Yes)
{
string selectName = op.FileName;
customBgmPath.text = selectName;
string path = customBgmPath.text;
WWW www = new WWW("file://"+path);
if(www.audioClip){
AudioClip clip = www.audioClip;
AudioPlayCtr.instance.ChangeBgMusic(clip);
}
}
else {
return;
}
}
//自定义文件保存文件夹;
private void SaveCutScreenPath()
{
OpenWinForm.FolderBrowserDialog fb = new OpenWinForm.FolderBrowserDialog();
fb.ShowNewFolderButton = true;
fb.RootFolder = Environment.SpecialFolder.MyDocuments;
fb.SelectedPath = "C:";
fb.Description = "请选择截图保存目录";
fb.RootFolder = Environment.SpecialFolder.MyDocuments;
if (fb.ShowDialog() == OpenWinForm.DialogResult.OK || fb.ShowDialog() == OpenWinForm.DialogResult.Yes)
{
string selectName = fb.SelectedPath;
customCutScreenPath.text = selectName;
}
else {
return;
}
}
//比如unity3d截图后,弹出对话框用户选择保存路径;
public IEnumerator CutScreent() {
int width = Screen.width;
int height = Screen.height;
yield return new WaitForEndOfFrame();
Texture2D tex = new Texture2D(width, height, TextureFormat.RGB24, false);//设置Texture2D
tex.ReadPixels(new Rect(0, 0, width, height), 0, 0);//获取Pixels
tex.Apply();//应用改变
byte[] bytes = tex.EncodeToPNG();//转换为byte[]
Destroy(tex);
OpenWinForm.SaveFileDialog saveFileDialog = new OpenWinForm.SaveFileDialog();
saveFileDialog.Filter = "图像文件(*.png)|*.png";
saveFileDialog.FilterIndex = 2;
saveFileDialog.RestoreDirectory = true;
if (saveFileDialog.ShowDialog() == OpenWinForm.DialogResult.OK)
{
string fName = saveFileDialog.FileName;
Stream flstr = new FileStream(fName, FileMode.Create);//文件操作
BinaryWriter sw = new BinaryWriter(flstr, System.Text.Encoding.Unicode);
sw.Write(bytes);
sw.Close();
flstr.Close();
}
}
C# 文件选择对话框,Unity3d文件保存对话框的更多相关文章
- C#中对文件进行选择对话框打开和保存对话框进行复制
场景 通过文件选择对话框选择文件 复制文件到指定路径 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号霸道的程序猿获取编程相关电子书.教 ...
- C#对话框-打开和保存对话框(转)
//打开文件 OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.In ...
- 重新想象 Windows 8 Store Apps (25) - 选取器: 文件选取窗口, 文件夹选取窗口, 文件保存窗口
原文:重新想象 Windows 8 Store Apps (25) - 选取器: 文件选取窗口, 文件夹选取窗口, 文件保存窗口 [源码下载] 重新想象 Windows 8 Store Apps (2 ...
- 文件选择对话框:CFileDialog
程序如下: CString FilePathName; //文件名参数定义 CFileDialog Dlg(TRUE,NULL,NULL, ...
- Java Swing提供的文件选择对话框 - JFileChooser
JFileChooser() 构造一个指向用户默认目录的 JFileChooser. JFileChooser(File currentDirectory) 使 ...
- C#(Winform)的SaveFileDialog(文件保存对话框)控件使用
#region 保存对话框 private void ShowSaveFileDialog() { //string localFilePath, fileNameExt ...
- 利用JFileChooser实现文件选择对话框
简单的文件选择对话框: package mypackage;/** * 打开文件和存储文件 */import java.awt.BorderLayout;import java.awt.Contain ...
- NX二次开发-UFUN文件选择对话框UF_UI_create_filebox
NX11+VS2013 #include <uf.h> #include <uf_ui.h> UF_initialize(); //文件选择对话框 char sPromptSt ...
- VBScript - 弹出“文件选择对话框”方法大全!
本文记录,VBScript 中,各种打开 "文件选择对话框" 的方法. 实现方法-1 (mshta.exe): 首先,我们要实现的就是,弹出上面的这个"文件选择对话框&q ...
- C# Wpf 文件保存对话框
C# Wpf库中无文件保存对话框,需引用winform,引用winform后多处提示引用不明确,将winform引用改别名. // 引用winform,改别名 using Forms = System ...
随机推荐
- SQL中的OpenXML使用
DECLARE @idoc int ) SET @doc =' <ROOT> <Customer CustomerID="VINET" ContactName=& ...
- HTML5的入门与深入理解
HTML5是对HTML的第5次重大的修改,虽然HTML5 标准还在制定中,但不能阻碍其势不可挡的脚步,不用HTML5你就OUT了.HTML5与我们常用的HTML4有什么区别呢? 首先要说的是不是所有的 ...
- H5一行显示两个正方形
1)有时候一些图片会是正方形或者长方形,对于这样的图片一般都是居中显示到正方体内,代码如下: .exhibition_list img{width:100%;position: relative;t ...
- vue-新建项目出错情况分析
1.状况一: 按照正常流程新建项目,最终运行npm run dev 的时候,就频频出错,最终找出问题原来在于部分依赖包丢失了,于是重新安装所需要的依赖包再运行项目便好了!
- php基础_函数和类
①函数 1.函数名不区分大小写,变量名区分大小写. 2.require()和include() 区别:函数加载失败后,require给出一个致命错误,include只是一个警告. ②类 1.构造方法 ...
- iOS开发_内存泄漏、内存溢出和野指针之间的区别
今天,在工作群中,被问到了内存泄漏和野指针指向的区别,自己答的不是很好,特意回来查了资料,在博文中总结一下经验,欢迎指正. 内存泄漏:是指在堆区,alloc 或new 创建了一个对象,但是并没有放到自 ...
- HDU 4938 Seeing People(2014 Multi-University Training Contest 7)
思路:根据出发时间把点往速度反方向移动 t*v的 的距离这样就可以当成 全部点一起出发,再把y轴上的点固定不动相当于x轴的点向(-v2,v1)方向移动 .可以把所有点映射到x轴上进行统计即可(要记住同 ...
- BroadCast Receiver的使用
定义 广播接收器分为标准广播和有序广播,标准广播是异步执行的广播,有序广播是同步执行的,同一时刻只有一个广播接收器会收到广播,执行结束后,广播才会继续传递. 静态注册 在Androidmanifest ...
- js初学者的div移动
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...
- IOS框架和服务
在iOS中框架是一个目录,包含了共享资源库,用于访问该资源库中储存的代码的头文件,以及图像.声音文件等其他资源.共享资源库定义应用程序可以调用的函数和方法. iOS为应用程序开发提供了许多可使用的框架 ...