UE4C ++は列挙を作成します

目次

まず、目的

1.考える:UE4はC ++を使用して、C ++とブループリントに適した列挙型変数を作成します

2、参照

1.UE4はC ++を使用して、C ++およびブループリントに適した列挙型変数を作成します

三、注意を払う

1. C ++クラスがActorタイプであることが望ましいです。GameModeBaseタイプがシーンに見つからなかったことがわかりました。

4、操作

1.新しいアクターC ++クラスMyGameModeBase.h()

1、MyGameModeBase.h

1、MyGameModeBase.cpp

1.MyGameModeBaseのBP_MyGameModeBaseに基づいて新しいブループリントクラスを作成します

1.列挙は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に表示されます

中国語が文字化けしているため、エンコードを変換したり、英語や数字などに変換したりする必要があります(現在は作成されていません)

おすすめ

転載: blog.csdn.net/qq_40544338/article/details/109331069