尝试解析UE4 第三人称模板(C++)1

*** .h

***.cpp

在这里插入图片描述

  • #pragma once: 任何以#号开头的行都称为预处理程序指令。可以将预处理程序指令视为编辑器在编译真正的代码之前运行的指令。预处理程序指令以#符号开头,通常以换行结束。可以使用反斜杠(\)实现换行。在该文件中,# pragma once 是一个预处理程序,它用于保护同一个文件不会多次包含。# pragma once 称为头文件保护符。
    在这里插入图片描述
  • #include :在此文件中,我们看到两个包含文件。一个是GameFramework文件夹中的Character.h(位于UE4目录中),另一个是 generated.h。
    • Character.h : 包含此文件是因为角色类继承了UE4中附带的ACharacter类。访问Character类中的所有声明都需要该包含文件。
    • generated.h:这是由虚幻头文件工具(Unreal Header Tool, UHT)自动生成的。只要声明了USTRUCT() 或 UCLASS()宏,就会生成 generated.h 文件。generated.h 文件包含头文件中类型声明的详细信息。该文件应该是头文件中最后一个包含的文件。
  • Mactos(宏):宏也是预处理程序指令,以 # define 开头。在编译之前,编译器会在此宏的位置复制并粘贴实际值。例如,如果创建宏 # define MyMacro 3.14,那么 3.14 将被复制并粘贴到使用 MyMacro的所有地方。
    在这里插入图片描述
  • UCLASS(config = game): 这是要给虚幻宏,使编辑器能够识别新类。在括号内,可以指定类说明符和元数据。在这个示例中,指定配置说明符,它表示允许此类在给定的配置文件中存储数据。在这种情况下,配置文件的名称将是 YourGameName.ini。
    在这里插入图片描述
  • class APACKT_CPPCharacter: public ACharacter : 指示类名并显示这个类是从哪个类继承的。这个类是从 Character 类继承的。
    在这里插入图片描述
  • GENNERATED_BODY(): 这是一个宏,必须放在类主体的最开头。编译时,Unreal Engine 将它替换为样板代码。也就是说,在编译时之前, GENERATED_BODY() 将被实际代码替换。由于类的编译需要这段代码,因此Epic通过创建这个宏简化开发者的操作。
    在这里插入图片描述
  • private、public和 protected: 这些称为访问说明符。访问说明符用来标识一个方法是否可以被其他文件访问。有3种类型的访问说明符,分别如下:
    • private : 只能访问类中的成员。在此示例中,CameraBoom 和 FollowCamera设置为private(私有)。这意味着只能在该类中访问它们。如果创建一个派生自该类的新类,则无法访问它们。
    • public : 任意其他类都可以访问这个方法。
    • protected : 该类以及从该类派生的任意类可以访问这个方法。
      在这里插入图片描述
  • UPROPERTY() : 定义属性元数据和说明符。用于属性的序列化、复制和给蓝图提供属性。可以使用多个UPROPERTY()说明符。要查看完整列表,请访问Unreal Engine 4 Document 网站。
  • void : 表示这是一个不返回任何数据的函数。函数可以返回任何类型(如浮点型、整型、布尔型,甚至对象)的数据,也可以不返回数据。在这种情况下,使用void类型指示此方法不返回任何类型的数据。void还可以防止在子类中重写此函数。如果要重写子类中的函数,则需要使它称为虚void 函数。创建了虚void 函数意味着子类可以重写此函数,实现自己的逻辑。使用关键字 Super 可以调用父类函数。

双冒号(::):使用此符号表示正在从某个命名空间或作用域访问方法。例如,如果要从其他类调用静态方法,则使用此符号。

连字符箭头(->):当指向某些可能存在或不存在于内存中的数据时,使用此箭头。使用此符号表示正在尝试访问指针。指针指向内存中的某个位置,即存储该指针指向的实际数据的位置。在访问指针之前,最好检查并确保它们有效。指针是C++中最重要的部分之一,强烈推荐阅读 unrealengine 网站上 Nathan Iyer(Rama)的文章 “Entry Level Guide to UE4 C++”。

句号(.):用于访问数据本身,例如使用它访问结构内的数据。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值