一、新建C++类
首先明确一个问题,不是只有C++工程才可以新建C++类,新建项目时选择了蓝图工程的话,在项目开发的后期也可以进行新建c++类。不管是C++工程还是蓝图工程,新建C++类的方式都是一样的。
方法一:点击菜单栏File->Project->New C++ Class...
方法二:点击ContentBrowser界面左上角的AddNew按钮,选择New C++ Class...
以上两种方式均可以新建C++类。无论你选择哪种方式,都会弹出下边页面:
这个界面列出了一下常见的C++类,需要你在其中选择你要新建的C++类的父类。这里和新建蓝图类类似。如果勾选右上角的“Show All Classes”复选框,会显示所有的C++类。你可以通过此界面进行检索你要新建的类,当然,你也可以通过这里来看各个C++类的父子关系。
选择你想要新建C++类的父类后,会跳转到如下界面:
Name部分为你想要创建的类的名称(更确切的说应该是文件名称),后边的下拉框,选择你为哪个模块新建C++类,如果你要进行插件开发的话,后边的下拉框应该选择你Plugin模块。后边的Public和Private选项,决定了你C++类头文件和源文件的存放位置,如果选择Public,则头文件会放在Public文件夹下,源文件会放在Private文件夹下。如果选择Private,那么头文件源文件均会放在Private文件夹下。老版本引擎可以两个都不选择,那么引擎在你创建C++类时,就不会为你创建Public和Private目录。Path就是你新建C++类的路径了。
在这里说一下,还多朋友这里点击CreateClass后,会弹出选项框,提示你C++类以成功创建,但是未能正确更新之类的信息。这是你可以关掉引擎,直接在VS中点击运行,如果编译不报错,则一切正常。如果编译有错误,修改错误之后,项目就可以正常启动。
至于编译,也有两种方式,第一种就是在VS中进行代码编辑,编辑之后可以在Unreal编辑器内Toolbar菜单点击Compile进行编译,另一种方式就是直接关掉编辑器,当你编辑完代码后在VS中点击运行,拉起编辑器。两种方式各有利弊。第一种方式会比较省时,但是容易出现何种无厘头的错误。第二种方式比较稳妥,但是又比较耗时。建议电脑配置比较好的朋友选择第二种方式。
二、新建C++类的蓝图子类
选择新建蓝图类,然后再AllClasses中输入你新建的类的类名,即可搜索到你新建的C++类,选择它为父类,新建蓝图类即可。也可以在ContentBrowser中找到你的C++类,右键选择CreateBlueprintClass......,来创建其子蓝图类。
三、一点小经验
在确认自己代码逻辑没有问题的情况下,如果你编译或者打包总是出现各种模型其妙的问题的时候,你可以选择删除工程目录下的 /.vs /.Binaries ./Intermediate ./Saved ./XXX.sln等文件和文件夹,然后右键xxx.uproject,选择Generate VS project,重新进行编译。