Version: 5.3 (switch to 5.4b)
IdiomaEnglish
  • C#
  • JS

Idioma de script

Selecciona tu lenguaje de programación favorito. Todos los fragmentos de código serán mostrados en este lenguaje.

EditorUtility.SaveFolderPanel

Sugiere un cambio

¡Éxito!

Gracias por ayudarnos a mejorar la calidad de la documentación de Unity. A pesar de que no podemos aceptar todas las sugerencias, leemos cada cambio propuesto por nuestros usuarios y actualizaremos los que sean aplicables.

Cerrar

No se puedo enviar

Por alguna razón su cambio sugerido no pudo ser enviado. Por favor <a>intente nuevamente</a> en unos minutos. Gracias por tomarse un tiempo para ayudarnos a mejorar la calidad de la documentación de Unity.

Cerrar

Cancelar

Cambiar al Manual
public static function SaveFolderPanel(title: string, folder: string, defaultName: string): string;
public static string SaveFolderPanel(string title, string folder, string defaultName);

Parámetros

Descripción

Displays the "save folder" dialog and returns the selected path name.

See Also: SaveFilePanel, OpenFilePanel functions.


Save Folder Panel.


        
using UnityEngine;
using UnityEditor;
using System.IO;

public class SaveFolderPanelExample : EditorWindow { [MenuItem( "Example/Save Textures To Folder" )] static void Apply( ) { Object[] textures = Selection.GetFiltered( typeof(Texture2D), SelectionMode.Unfiltered ); if( textures.Length == 0 ) { EditorUtility.DisplayDialog( "Select Textures", "You must select at least one texture first!", "OK" ); return; }

string path = EditorUtility.SaveFolderPanel( "Save textures to folder", "", "" ); if( path.Length != 0 ) { foreach( Texture2D texture in textures ) { Texture2D processedTex = texture;

// Convert the texture to a format compatible with EncodeToPNG if( texture.format != TextureFormat.ARGB32 && texture.format != TextureFormat.RGB24 ) { Texture2D newTexture = new Texture2D( texture.width, texture.height ); newTexture.SetPixels( texture.GetPixels( 0 ), 0 ); processedTex = newTexture; }

byte[] pngData = processedTex.EncodeToPNG( ); if( pngData != null ) File.WriteAllBytes( path + "/" + texture.name + ".png", pngData ); else Debug.Log( "Could not convert " + texture.name + " to png. Skipping saving texture." ); }

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

}