Availability:Public Title:管理游戏代码 Crumbs: %ROOT%, Programming, Programming\Development Description:添加代码并生成项目文件。 Version: 4.5 %Globals:OSSelect% ## 添加代码到项目 ### C++类向导 [INCLUDE:Programming\Development\ManagingGameCode\CppClassWizard#main] ### 开发环境 [OBJECT:ToggleButtonContent] [PARAMLITERAL:category] OS [/PARAMLITERAL] [PARAMLITERAL:id] windows [/PARAMLITERAL] [PARAMLITERAL:active] active_button_content [/PARAMLITERAL] [PARAM:content] 一般情况下,代码文件可以通过Visual Studio来创建,并通过 **Solution Explorer** (解决方案浏览器)来添加到游戏项目中。 您也可以添加代码文件到Visual Studio外的合适文件夹中,并自动重建解决方案和项目文件。 这使得通过操作系统UI来快速添加许多文件变得方便,并使得团队工作更为方便,因为解决方案和项目文件不需要在团队成员间同步。 每个人都可以同步代码文件并在本地重建项目文件。 [/PARAM] [/OBJECT] [OBJECT:ToggleButtonContent] [PARAMLITERAL:category] OS [/PARAMLITERAL] [PARAMLITERAL:id] mac [/PARAMLITERAL] [PARAMLITERAL:active] [/PARAMLITERAL] [PARAM:content] 一般情况下,代码文件可以通过Xcode来创建,并通过 **Project Navigator* (项目导航程序)来添加到游戏项目中。 您也可以添加代码文件到Xcode外的合适文件夹中,并自动重建项目文件。 这使得通过操作系统UI来快速添加许多文件变得方便,并使得团队工作更为方便,因为解决方案和项目文件不需要在团队成员间同步。 每个人都可以同步代码文件并在本地重建项目文件。 [/PARAM] [/OBJECT] ## 在开发环境中打开项目 [OBJECT:ToggleButtonContent] [PARAMLITERAL:category] OS [/PARAMLITERAL] [PARAMLITERAL:id] windows [/PARAMLITERAL] [PARAMLITERAL:active] active_button_content [/PARAMLITERAL] [PARAM:content] 如果您的项目已经在编辑器中打开,您可以通过选择 **文件** 菜单的 **在Visual Studio中打开** 来很方便地在Visual Studio中打开它。 ![](open_visual_studio.png) 您也可以通过Windows Explorer浏览器或 Visual Studio的 **文件 > 打开 > 项目/解决方案** 来打开Visual Studio中的项目。 [PUBLISH:Licensee] **如您的项目位于虚幻引擎4的根目录:** * 打开虚幻引擎4根目录下的Visual Studio解决方案的`UE4.sln`文件。 **如您的项目位于虚幻引擎4的根目录外:** [/PUBLISH:Licensee] * 请打开位于项目根目录的`[ProjectName].sln` Visual Studio解决方案文件。 [/PARAM] [/OBJECT] [OBJECT:ToggleButtonContent] [PARAMLITERAL:category] OS [/PARAMLITERAL] [PARAMLITERAL:id] mac [/PARAMLITERAL] [PARAMLITERAL:active] [/PARAMLITERAL] [PARAM:content] 如果您的项目已经在编辑器中打开,您可以通过选择 **文件** 菜单的 **在Xcode中打开** 来很方便地在Xcode中打开它。 ![](open_xcode.png) 您也可以通过搜寻程序或Xcode的 **文件 > 打开** 来打开Xcode中的项目。 * 请打开位于项目根目录的`[ProjectName].xcodeproj` Xcode项目文件。 [/PARAM] [/OBJECT] ## 生产项目文件 [OBJECT:ToggleButtonContent] [PARAMLITERAL:category] OS [/PARAMLITERAL] [PARAMLITERAL:id] windows [/PARAMLITERAL] [PARAMLITERAL:active] active_button_content [/PARAMLITERAL] [PARAM:content] [REGION:warning] 项目文件是中间文件 - 位于`[ProjectDirectory]\Intermediate\ProjectFiles`。 这表示,如果您删除`Intermediate`文件夹,您必须重新生成项目文件。 [/REGION] [/PARAM] [/OBJECT] [PUBLISH:Licensee] ### GenerateProjectFiles.bat **如您的项目位于虚幻引擎4的根目录:** 1. 运行`UE4`根目录下的`GenerateProjectFiles.bat`批处理文件。 1. 打开`UE4`根目录下的Visual Studio解决方案`UE4.sln`文件。 这是[](Programming/UnrealBuildSystem/ProjectFileGenerator)可用的高级选项,您可以用它来生成项目文件以供发布,用于额外的平台或Visual Studio 2013。 [/PUBLISH:Licensee] ### .uproject文件 [PUBLISH:Licensee] 如需让 **Generate Visual Studio Files** (生成Visual Studio文件)显示于用于`.uproject`文件的 **右键点击** 菜单,您必须首先在`UE4\Engine\Build\BatchFiles`中运行`RegisterShellCommands.bat`。 **如您的项目位于虚幻引擎4的根目录外:** [/PUBLISH:Licensee] [OBJECT:ToggleButtonContent] [PARAMLITERAL:category] OS [/PARAMLITERAL] [PARAMLITERAL:id] windows [/PARAMLITERAL] [PARAMLITERAL:active] active_button_content [/PARAMLITERAL] [PARAM:content] 1. 在资源管理器中浏览至`[ProjectName].uproject`的位置。 1. **右击** `[ProjectName].uproject`文件并选择 **生成Visual Studio文件** 。 ![](Generate_Visual_Studio_Files.png) 1. UnrealBuildTool会更新项目文件和解决方案,包括生成智能提示数据。 ![](generate_project_files.png) 1. 请打开位于项目根目录的`[ProjectName].sln` Visual Studio解决方案文件,以查看Visual Studio中的游戏项目。 [/PARAM] [/OBJECT] [OBJECT:ToggleButtonContent] [PARAMLITERAL:category] OS [/PARAMLITERAL] [PARAMLITERAL:id] mac [/PARAMLITERAL] [PARAMLITERAL:active] [/PARAMLITERAL] [PARAM:content] 1. 在搜寻程序中浏览至[ProjectName].uproject的位置。 1. **右击** `[ProjectName].uproject`文件并选择生成 Xcode文件。 ![](Generate_Xcode_Files.png) 1. UnrealBuildTool会更新项目 ![](generate_project_files_xcode.png) 1. 请打开位于项目根目录的[ProjectName].xcodeproj Xcode项目,以查看Xcode中的游戏项目。 [/PARAM] [/OBJECT] [PUBLISH:Licensee] [REGION:note] 对于位于虚幻引擎4根目录位置外的项目的高级项目文件生成选项,请编辑`RegisterShellCommands.bat`批处理文件。 `生成Visual Studio项目(所有平台)`的条目显示了额外菜单条目的示例,在本例中具有`-AllPlatforms`标识。 [可用选项](Programming/UnrealBuildSystem/ProjectFileGenerator)和主要`GenerateProjectFiles.bat`文件相同。 [/REGION:note] [/PUBLISH:Licensee]