目次
1.考える:UE4はC ++を使用して、C ++とブループリントに適した列挙型変数を作成します
1.UE4はC ++を使用して、C ++およびブループリントに適した列挙型変数を作成します
1. C ++クラスがActorタイプであることが望ましいです。GameModeBaseタイプがシーンに見つからなかったことがわかりました。
1.新しいアクターC ++クラスMyGameModeBase.h()
1.MyGameModeBaseのBP_MyGameModeBaseに基づいて新しいブループリントクラスを作成します
まず、目的
1.考える:UE4はC ++を使用して、C ++とブループリントに適した列挙変数を作成します
2、参照
1. UE4は、C ++や青写真に適した、列挙変数を作成するために、C ++を使用しています
https://www.cnblogs.com/liang123/p/6325860.html
- 要約:良い:達成できる
三、注意を払う
1. C ++クラスがActorタイプであることが望ましいです。GameModeBaseタイプがシーンに見つからなかったことがわかりました。
4、操作
1.新しいアクターC ++クラスMyGameModeBase.h()
1、MyGameModeBase.h
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/GameModeBase.h"
#include "MyGameModeBase.generated.h"
UENUM(BlueprintType)
enum class MyGameState:uint8 //设置uint8类型
{
//E_SCAN UMETA(DisplayName = "鸟瞰模式"),//想要显示中文 需要将编码格式设置为utf-8
//E_WALK UMETA(DisplayName = "行走模式"),//DisPlayName表示显示的名称,在蓝图中可见
游戏状态 STANDBY:待机 ,WAIT:等待 ,PLAY:玩 ,SUMMARY:结算,VIDEO:播放视频
//var em_gameState : Object = { STANDBY:0,WAIT : 1,PLAY : 2,SUMMARY : 3,FAIL : 4,VIDEO : 5 };
STANDBY UMETA(DisplayName = "STANDBY"), //想要显示中文 需要将编码格式设置为utf-8
WAIT UMETA(DisplayName = "WAIT"), //DisPlayName表示显示的名称,在蓝图中可见
PLAY UMETA(DisplayName = "PLAY"),
SUMMARY UMETA(DisplayName = "SUMMARY"),
FAIL UMETA(DisplayName = "FAIL"),
VIDEO UMETA(DisplayName = "VIDEO")
};
/**
*
*/
UCLASS()
class RSXB_API AMyGameModeBase : public AGameModeBase
{
GENERATED_BODY()
public:
AMyGameModeBase();
/** 控制状态的变量 */
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = MyGameState)
MyGameState myGameState;
};
1、MyGameModeBase.cpp
// Fill out your copyright notice in the Description page of Project Settings.
#include "MyGameModeBase.h"
AMyGameModeBase::AMyGameModeBase()
{
myGameState = MyGameState::STANDBY;
}
1.MyGameModeBaseのBP_MyGameModeBaseに基づいて新しいブループリントクラスを作成します
1.列挙はBP_MyGameModeBaseに表示されます
中国語が文字化けしているため、エンコードを変換したり、英語や数字などに変換したりする必要があります(現在は作成されていません)