UE5でFPSゲーム制作 Part19-武器の残弾を表示する
UIに武器の弾数等を表示する
UIに武器の名前やマガジンの弾数を表示できるようにしたいと思います。今までやってきたことから、自分が持っている武器はCurrent Weaponという変数に格納しているので、Current Weaponから引っ張ってくるだけで済みます。
WeaponBase.h
public:
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "WeaponInfo")
FString WeaponName;
UFUNCTION(BlueprintPure, Category = "WeaponInfo")
FString GetWeaponName();
WeaponBase.cpp
FString AWeaponBase::GetWeaponName()
{
return WeaponName;
}
を追加します。
BP_WeaponBaseにWeapon Nameという変数ができたので、名前を付けておきます。Assalt Rifleと名付けました。
WBP_MianHUD
WBP_MainHUDに新しくVertical Boxを追加します。Overlayの中にImageを入れてBackColorと名付けます。あとは必要なTextウィジェットを図のような階層構造で入れます。
BackColorはTintから薄い黒色にします。
例えばApex Legendsのようなゲームでは、ここを武器の種類に応じた背景色にしたりなどしていますね。
Textの"Weapon Name"からバインディングを作成します。
Textの"99"からバインディングを作成します。
Truncateは小数点以下を全部切り捨ててInt型に変換するノードです。
同じようにTextの"999"からバインディングを作成します。
これで画面に武器の名前やマガジンの弾、所持弾数を表示することができました。