1.添加如下标注区域的代码,从而设置物体在游戏运行时的位置,添加代码后记得生成解决方案
//设置游戏运行时,物体在场景中的位置
SetActorLocation(FVector(-580.0, 610.0,190));
2.将Floater拖入场景中
3.给Floater添加一个静态网格体
4.点击运行游戏,发现Floater“跑”到了指定的位置
如果想在虚幻编辑器中直接设置Floater的初始位置该如何做?
1.添加如下标注区域代码
//EditInstanceOnly表示仅在实例中可编辑,BlueprintReadWrite表示蓝图可读可写
UPROPERTY(EditInstanceOnly, BlueprintReadWrite, Category = "Floater Variables")
FVector InitialLocation = FVector(-580.0, 610.0, 190);
//设置游戏运行时,物体在场景中的位置
SetActorLocation(InitialLocation);
生成解决方案
2.在虚幻编辑器中可以看到可以设置初始位置了
3. 现在我将z的值改为300
再运行看下效果:
如何让Floater向指定方向移动?
在Floater.h中添加如下代码:
//设置初始的移动方向
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Floater Variables")
FVector InitialDirection;
//设置是否能够移动
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Floater Variables")
bool bShouldFloat;
在Floater.cpp中添加如下代码:
InitialDirection = FVector(1,0,0);
bShouldFloat = true;
if (bShouldFloat)
{
AddActorLocalOffset(InitialDirection);
}
此时在BP_Floater蓝图中能够设置初始移动方向和是否能够移动
在实例的细节面板中也可以设置:
再看下运行效果:
可以看到物体沿着x轴正方向移动
如果将x值调大:
效果:(可以看到沿着x轴正方向移动的速度加快)