1.UMG
UMG
向关卡增加UI控件

比如按钮和文本之类


打开unreal engine
我安装的是
C++开发的话有同时安装vs2019
VS2019的话安装有注意组件问题,不然创建会报错。
windows sdk
net sdk
等有些东西有自已选 择安装

新建项目

选 择空白模板

选择C++项目

资源文件和c++类

打开C++ 类就可以打vs2019
ps::: 因为我增加过文件了,项目创建时就一个类的,我这边增加了类。
HowTo_UMGGameModeBase
HowTo_UMG是新建项目时,你的项目名字,
GameModeBase是中文 过来的意思是游戏模式基础类
HowTo_UMGPlayerController是增加类

第一下,引擎构建器

using UnrealBuildTool;

public class HowTo_UMG : ModuleRules
{
public HowTo_UMG(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;

 PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "UMG" });// PrivateDependencyModuleNames.AddRange(new string[] {  });// Uncomment if you are using Slate UIPrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });// Uncomment if you are using online features// PrivateDependencyModuleNames.Add("OnlineSubsystem");// To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true
}

}

在HowTo_UMGGameModeBase.h

增加#include “Blueprint/UserWidget.h”
这个是蓝图的用户界面头文件

1>HowTo_UMGGameModeBase.h

#pragma once
#include “Blueprint/UserWidget.h”
#include “Components/Button.h”
#include “CoreMinimal.h”
#include “GameFramework/GameModeBase.h”
#include “HowTo_UMGGameModeBase.generated.h”

/**
*
*/
UCLASS()
class HOWTO_UMG_API AHowTo_UMGGameModeBase : public AGameModeBase
{
GENERATED_BODY()

public:
/** 移除当前菜单控件,并在指定类(如有)中新建控件。*/
//UFUNCTION
UFUNCTION(BlueprintCallable, Category = “UMG Game”)
void ChangeMenuWidget(TSubclassOf NewWidgetClass);

protected:
/** 游戏开始时调用。 游戏开始 */
virtual void BeginPlay() override;

/** 游戏开始时,用作菜单的控件类。*/
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "UMG Game")TSubclassOf<UUserWidget> StartingWidgetClass;/** 用作菜单的控件实例。*/
UPROPERTY()UUserWidget* CurrentWidget;

};

引擎用了很多跟java 差不多的东西反射和注解

UCLASS() 引擎的类的定义

UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = “UMG Game”)
向蓝图提供只读功能,也就是说,这个新建蓝图之后可以防问这个定义的内容

2>HowTo_UMGGameModeBase.cpp

#include “HowTo_UMGGameModeBase.h”

void AHowTo_UMGGameModeBase::BeginPlay()
{
Super::BeginPlay();

ChangeMenuWidget(StartingWidgetClass);

}

void AHowTo_UMGGameModeBase::ChangeMenuWidget(TSubclassOf NewWidgetClass)
{
if (CurrentWidget != nullptr)
{
CurrentWidget->RemoveFromViewport();
CurrentWidget = nullptr;
}
if (NewWidgetClass != nullptr)
{
CurrentWidget = CreateWidget(GetWorld(), NewWidgetClass);
if (CurrentWidget != nullptr)
{
CurrentWidget->AddToViewport();
}
}
}

增加HowTo_UMGPlayerController
向VS2019增加新类有引擎编辑器里增加

一定要C++ 类里边,就源码的根目录里边

新建 C++ 类

选择玩家控制的类


h文 件内容
#include "HowTo_UMG.h"放第二个位置
编译时,有时不是代码问题,有清理一下解决方案和清理试一下,

》》》》》》》
#include “HowTo_UMGPlayerController.h”
#include “HowTo_UMG.h”

void AHowTo_UMGPlayerController::BeginPlay()
{
Super::BeginPlay();
SetInputMode(FInputModeGameAndUI());
}

cpp文 件内容

#pragma once

#include “CoreMinimal.h”
#include “GameFramework/PlayerController.h”
#include “HowTo_UMGPlayerController.generated.h”

/**
*
*/
UCLASS()
class HOWTO_UMG_API AHowTo_UMGPlayerController : public APlayerController
{
GENERATED_BODY()

public:
virtual void BeginPlay() override;

};

以上是VS2019 的操作

在引擎编辑器:

还有创建蓝图,操作 很步骤很多

换成内容里边

三个图标是我增加过的了

控件蓝图

在这里边是控件

蓝图类
这两个类是C++ 一起的

操作方式
增加控件蓝图

向界面增加控件



控制面板有控件

细节有控件的属性,


在细节最下面有事件

给按钮增加事件


事件蓝图


右点击

退出游戏节点,
输入Q就可以找到然后连一下连

下面的按钮点击事件,
节点增加


这个节点是输入类名前这几个字母就能找


得到游戏模式

change menu widget 的节点增加方法,
先择
一边拖,然后有输入ch 就能把新节点查找了,


C++和蓝图交互的方式

蓝图完成之后

增加蓝图类

增加分别增加这两个的蓝图类


MenuGameMode 类增加 那个新创建 的控件蓝图

在关卡设置 把MenuGameMode 增加进就可以运行看到gui 了

运行之后的结果,
点击有退出游戏 事件的按钮就会退出游戏

这一个流程下来,总之流程很麻烦,

Unreal Engine C++ 入门01相关推荐

  1. Unreal Engine使用C++入门示例

    转载自52VR 原文章链接http://www.52vr.com/article-639-1.html epic games宣布ue4免费使用之后,吸引了大批看好VR和AR前景的游戏开发者. 不过国内 ...

  2. Unreal Engine 4 系列教程 Part 1:入门

    原文:Unreal Engine 4 Tutorial for Beginners: Getting Started 作者:Tommy Tran 译者:Shuchang Liu 本篇教程将引导你安装U ...

  3. 【新手必读】Unreal Engine 4 C++入门教程(上)

    原文|<Unreal Engine 4 C++ Tutorial> 作者|Tommy Tran Feb 6 2018 | 翻译 开发游戏的老王 阅读时长|25分钟 内容难度|入门 在本教程 ...

  4. 【新手必读】Unreal Engine 4 UI入门教程(下)

    本文是<Unreal Engine 4 UI 入门教程的下半部分,上半部分请见<Unreal Engine 4 UI 入门教程(上)> 作者|Tommy Tran Aug 3 201 ...

  5. 入门VR游戏开发者在Unreal Engine 4上开始VR设计所需要知道的

    入门VR游戏开发者在Unreal Engine 4上开始VR设计所需要知道的 游戏开发者 VR2048(vr2048) · 2016-01-12 18:38 首先,不要被标题吓到,这其实是一篇面向游戏 ...

  6. ue5新手零基础学习教程 Unreal Engine 5 Beginner Tutorial - UE5 Starter Course

    ue5新手零基础学习教程 Unreal Engine 5 Beginner Tutorial - UE5 Starter Course! 教程大小解压后:4.96G 语言:英语+中英文字幕(机译)时长 ...

  7. Revit和Unreal Engine真实的建筑可视化视频教程

    Revit和Unreal Engine真实的建筑可视化视频教程 Lynda – Revit and Unreal Engine: Real-Life Architectural Visualizati ...

  8. Unreal Engine+Houdini创造程序性游戏场景视频教程

    Unreal Engine+Houdini创造程序性游戏场景视频教程 大小解压后:27.4G 持续时间14小时30分 包括项目文件 1920X1080 高清视频 程序游戏环境--虚幻引擎和Houdin ...

  9. Unreal Engine 4 —— 异步加载关卡的实现方法及思考

    这篇文章介绍了在ue4中实现异步加载关卡的方法,以及我对应的思考. 背景 在很多游戏中都有用到关卡的异步加载,关卡的异步加载指的是在游戏的某个阶段,使用多线程的方法进行新关卡对应的内容加载.从而能够免 ...

最新文章

  1. LeetCode 228: Summary Ranges
  2. [转] 程序员写简历的注意事项
  3. Ubuntu 16.04 LTS界面美化
  4. 网址服务器地址修改,网址服务器地址修改
  5. 抽象方法可以有方法体_抽象类和模板方法设计模式
  6. hadoop hdfs (java api)
  7. processing python模式_详解python之多进程和进程池(Processing库)
  8. 图灵测试是什么?为什么AlphaGo那么牛却过不了?
  9. 【w3cschool】通过C语言类比快速上手C#
  10. Python字符串转换为小写字母– str.lower()
  11. docker-rabbitmq
  12. 英伟达显卡不同架构_架构定输赢!盘点历代英伟达显卡能够成功亥市的根源
  13. 01超详细:中文版ANSYS2021_R1安装教程
  14. 像素密度(衡量屏幕显示能力)
  15. conda install 安装慢,或者直接卡死,这么解决
  16. grammarly word安装失败
  17. 180902 逆向-网鼎(4-dalao)
  18. python可以构建sem模型_Python Pandas Series.sem()用法及代码示例
  19. 如何在 Linux 中查找一个文件
  20. 跟着开源项目学因果推断——FixedEffectModel 固定效应模型(十七)

热门文章

  1. html表格第一列和最后一列冻结
  2. 【matplotlib】画图基本函数 pyplot.barh 画水平柱状图
  3. c++笔记(超详细超完整)
  4. Neo4j之Cypher概述
  5. 2021年真无线蓝牙耳机排名:人气排名前十的蓝牙耳机推荐
  6. 抖音小店入驻精选联盟有什么条件?精选联盟添加商品操作流程分享
  7. 如何在Word中的表上添加边框或更改边框
  8. TypeError: Descriptors cannot not be created directly解决
  9. 小米是否真的可以干翻华为?
  10. 鸿蒙和iqoo系统谁强,鸿蒙系统发布会,小米11降500,iQOO、酷派、魅族、惠普发布新品...