笔者最近在用UE4模仿经典的魔塔游戏,作为一个刚接触UE4不久的人,到目前为止的开发过程并不顺利,笔者完全是在摸索中进行的。
比如这两天遇到的动态加载Actor的问题,笔者已经制作好一个TileMap,想要在上面放置各种道具、装备、怪物等,却不知道怎么通过代码加载。这个问题困扰了笔者两三天,在各种Google、百度却找不到解决办法之后,只找到了一些相关的信息,笔者平心静气,想到了官方文档中有相关的教程,就是那个First Person Shooter Tutorial,其中的子弹就是动态加载的,也许可以从中找到答案。
于是笔者就认真地跟着教程做了一遍,果然有想要的东西:
Add the following code to FPSCharacter.h:
// Projectile class to spawn. UPROPERTY(EditDefaultsOnly, Category = Projectile) TSubclassOf<class AFPSProjectile> ProjectileClass;
The EditDefaultsOnly specifier means that you will only be able to set the projectile class as a default on the Blueprint, not on each instance of the Blueprint.
笔者一开始并没有理解这个ProjectileClass的用意,但是在后面的步骤中用到了它:
Add the following Fire function definition to FPSCharacter.cpp:
void AFPSCharacter::Fire() { // Attempt to fire a projectile. if