`
wgcode
  • 浏览: 601473 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Unity3D一键导出Windows程序

 
阅读更多
  1. using UnityEngine;  
  2. using System.Collections;  
  3. using UnityEditor;  
  4. using System.Collections.Generic;  
  5. using System.IO;  
  6.   
  7. public class Tools : EditorWindow  
  8. {  
  9.     [MenuItem("Tools/Build for Windows")]  
  10.     public static void ShowWindow()  
  11.     {  
  12.         EditorWindow.GetWindow(typeof(Tools), true"导出Windows应用程序");  
  13.     }  
  14.     static string exePath = "";  
  15.     static List<string> allSceneName = new List<string>();  
  16.     void OnGUI()  
  17.     {  
  18.         GUILayout.Label("导出路径:", EditorStyles.boldLabel);  
  19.         GUILayout.Label(exePath, EditorStyles.boldLabel);  
  20.         if (GUILayout.Button("选择导出路径"))  
  21.         {  
  22.             exePath = EditorUtility.SaveFolderPanel("导出路径""""");  
  23.         }  
  24.         if (GUILayout.Button("扫描场景"))  
  25.         {  
  26.             string[] sl = Directory.GetFiles(Application.dataPath + "/Scene/");  
  27.             foreach (string file in sl)  
  28.             {  
  29.                 if (!file.Contains(".meta"))  
  30.                 {  
  31.                     string temp = file;  
  32.                     if (!allSceneName.Contains(temp))  
  33.                     {  
  34.                         allSceneName.Add(temp);  
  35.                     }  
  36.                 }  
  37.             }  
  38.         }  
  39.   
  40.         if (GUILayout.Button("导出程序"))  
  41.         {  
  42.             string[] levels = new string[1];  
  43.             Debug.Log("allSceneName.Count:" + allSceneName.Count);  
  44.             if (allSceneName.Count > 0)  
  45.             {  
  46.                 Debug.Log("allSceneName.Count:" + allSceneName.Count);  
  47.                 for (int i = 0; i < allSceneName.Count; i++)  
  48.                 {  
  49.                     levels[0] = allSceneName[i];  
  50.                     string temp = allSceneName[i].Replace(Application.dataPath + "/Scene/""");  
  51.                       
  52.                     temp = temp.Replace(".unity""");  
  53.                     string exeName = exePath + "/" + temp + ".exe";  
  54.                     if (File.Exists(exeName))  
  55.                     {  
  56.                         File.Delete(exeName);  
  57.                         Directory.Delete(exePath + "/" + temp + "_Data",true);  
  58.                     }  
  59.                     BuildPipeline.BuildPlayer(levels, exeName, BuildTarget.StandaloneWindows, BuildOptions.None);  
  60.                 }  
  61.             }  
  62.         }  
  63.     }  
  64. }  



 

效果如图

分享到:
评论

相关推荐

    unity fbx 导出插件

    3. 导出:配置好导出参数后,通过插件提供的导出接口,可以一键将选中的Unity对象导出为FBX格式。导出过程中,插件会保存你所设定的所有设置,方便下次快速导出。 4. 兼容性:由于插件特别强调对苹果系统的支持,这...

    Unity3D总稿

    ### Unity3D核心知识点详解 #### 一、Unity3D基础 **学习界面:** Unity3D的界面设计直观且用户友好,初次接触Unity的新手也能迅速上手。该界面包含多个面板,如Scene视图、Game视图、Inspector面板、Hierarchy...

    Unity3d基础教程

    - **定义**: Unity3D是一款功能强大且易用的多平台游戏开发引擎,适用于制作2D和3D游戏,支持多种平台如Windows、Mac、Linux、iOS、Android等。 - **特色**: - **综合编辑**: 提供了一体化的游戏开发界面,覆盖从...

    unity开发的捕鱼达人游戏

    Unity支持一键导出,但需要注意针对不同平台进行适当的优化和调整。 通过以上步骤,你可以逐步掌握使用Unity开发捕鱼达人游戏的全过程。对于新手来说,这是一个很好的学习项目,既可锻炼基础技能,又能体验到游戏...

    关于Unity跨平台的游戏开发引擎的相关文章

    Unity是一款功能强大的跨平台游戏开发引擎,广泛应用于电子游戏、虚拟现实(VR)、增强现实(AR)以及其他交互式3D内容的创作之中。它不仅适用于专业的游戏开发者,同时也适合初学者入门学习。Unity以其出色的跨平台...

Global site tag (gtag.js) - Google Analytics