Unreal Engine 4 Mastery:Create Multiplayer Games with C++:小要点【第一部分】

334 阅读1分钟

1.尽量不要在.h文件中包含额外的头文件。应当在.cpp文件中包含头文件,而在.h文件中通过“class xxxxx”进行前向声明,这样做可以加快编译速度,而且不会报错。

2.某个引擎类的头文件未包含时,使用VA的Alt+Shift+O键打开文件库进行搜索,即可得到头文件路径。

3.StaticMesh组件有自带的碰撞,需要取消(Collision->CollisionPreset==No Collision),只启用Sphere组件的碰撞即可。 c++中设置碰撞:

image.png

4.SpawnEmitterAtLocation函数中的UObject* WorldContext 参数,传入this。

image.png

5.添加重叠事件的两种形式: (1)USphereComponent::OnComponentBeginOverlap.AddDynamic(this,&类::方法名) 该方法的函数签名需要匹配对应委托。

image.png

(2)Actor::NotifyActorBeginOverlap()

需要被当前碰撞体Actor所检测到的Actor,需要勾选Collision下的bGenerateOverlapEvent。

6.获取重叠的组件: USphereComponent::GetOverlappingComponents(TArray< UPrimitiveComponent* > components) 将提前创建好的数组传入,就能得到与该碰撞体组件重合的所有UPrimitiveComponent。

7.“吸入黑洞”小功能:

image.png