参考AActor::BeginPlay代码中调用ReceiveBeginPlay相关实现:
![](http://tiebapic.baidu.com/forum/w%3D580/sign=4c9a51392f8b4710ce2ffdc4f3cec3b2/d69d850a19d8bc3e470eafd2df8ba61ea8d34545.jpg?tbpicau=2025-02-24-05_79fc2b3ffdd163956ee55d302340325b)
![](http://tiebapic.baidu.com/forum/w%3D580/sign=3a2aeea31a10b912bfc1f6f6f3fdfcb5/3a161cd8bc3eb135c4c11ea3fb1ea8d3fd1f4445.jpg?tbpicau=2025-02-24-05_314ea3337aea5b9fcf9c60b33890ba4a)
似乎没有找到ReceiveBeginPlay的函数实现,继续看自动生成的代码(注意原厂编辑器发布时已经去掉了生成的cpp,下面的代码文件需要通过编译UE4源码产生):
![](http://tiebapic.baidu.com/forum/w%3D580/sign=8ab0db38e412c8fcb4f3f6c5cc0392b4/a3c4b93eb13533fa7ab03a36f5d3fd1f41345b45.jpg?tbpicau=2025-02-24-05_e4beee3f8174eb03205db5f39ff78e10)
扩展:在UE3及以前有UC(Unreal Script)脚本,其实就是现在的UPROPERTY、UFUNCTION、UCLASS、USTRUCT等C++宏定义的脚本语言形式,会通过UC脚本编译生成调用虚拟机的thunk代码。而以前的UC脚本对应的虚拟机也被蓝图的前身Kismet图形化节点编程用到,因此现在看到还有很多Kismet的命名与蓝图相关的C++代码,K2就是Kismet2(第2代)的缩写。(可图形化OOP的UE4 C++确实很酷)
![](http://tiebapic.baidu.com/forum/w%3D580/sign=4c9a51392f8b4710ce2ffdc4f3cec3b2/d69d850a19d8bc3e470eafd2df8ba61ea8d34545.jpg?tbpicau=2025-02-24-05_79fc2b3ffdd163956ee55d302340325b)
![](http://tiebapic.baidu.com/forum/w%3D580/sign=3a2aeea31a10b912bfc1f6f6f3fdfcb5/3a161cd8bc3eb135c4c11ea3fb1ea8d3fd1f4445.jpg?tbpicau=2025-02-24-05_314ea3337aea5b9fcf9c60b33890ba4a)
似乎没有找到ReceiveBeginPlay的函数实现,继续看自动生成的代码(注意原厂编辑器发布时已经去掉了生成的cpp,下面的代码文件需要通过编译UE4源码产生):
![](http://tiebapic.baidu.com/forum/w%3D580/sign=8ab0db38e412c8fcb4f3f6c5cc0392b4/a3c4b93eb13533fa7ab03a36f5d3fd1f41345b45.jpg?tbpicau=2025-02-24-05_e4beee3f8174eb03205db5f39ff78e10)
扩展:在UE3及以前有UC(Unreal Script)脚本,其实就是现在的UPROPERTY、UFUNCTION、UCLASS、USTRUCT等C++宏定义的脚本语言形式,会通过UC脚本编译生成调用虚拟机的thunk代码。而以前的UC脚本对应的虚拟机也被蓝图的前身Kismet图形化节点编程用到,因此现在看到还有很多Kismet的命名与蓝图相关的C++代码,K2就是Kismet2(第2代)的缩写。(可图形化OOP的UE4 C++确实很酷)