版本:Unity 6 (6000.0)
语言英语
  • C#

EditorUtility.SaveFilePanelInProject

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们会阅读用户提出的每个建议更改,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public static string SaveFilePanelInProject(string title, string defaultName, string extension, string message);

声明

public static string SaveFilePanelInProject(string title, string defaultName, string extension, string message, string path);

参数

title 要显示的窗口标题。
defaultName "另存为"文本字段中显示的占位符文本。这是要保存的文件名。
extension 保存在保存的文件路径中使用的文件扩展名。例如,输入“png”以 PNG 格式保存图像。
message 在对话框窗口中显示的文本摘要。
path 此对话框打开的工作目录。默认值为“Assets”。

返回值

string 保存文件的字符串路径。如果对话框已取消或保存失败,则返回空字符串。

描述

在项目的 Assets 文件夹中显示“保存文件”对话框,并返回选定的路径名称。

其他资源:SaveFilePanel 函数。


项目中的保存文件面板。

using UnityEngine;
using UnityEditor;
using System.IO;

public class SaveFilePanelInProjectExample : EditorWindow { [MenuItem("Example/Save Texture In Project")] static void Apply() { Texture2D texture = Selection.activeObject as Texture2D; if (texture == null) { EditorUtility.DisplayDialog("Select Texture", "You must select a texture first!", "OK"); return; }

string path = EditorUtility.SaveFilePanelInProject("Save png", texture.name + "png", "png", "Please enter a file name to save the texture to"); if (path.Length != 0) { byte[] pngData = texture.EncodeToPNG(); if (pngData != null) { File.WriteAllBytes(path, pngData);

// As we are saving to the asset folder, tell Unity to scan for modified or new assets AssetDatabase.Refresh(); } } } }