精华内容
下载资源
问答
  • 为了展示对话框,我们需要自定义一个HUD(heads-up display,即平视显示器)。 什么是HUD? HUD是平面显示界面,就是平时我们玩3D游戏提供给玩家的2D菜单界面。HUD提供了渲染文字、贴图、矩形和材质的渲染,...

    201856krmoowoh05iy45zf

    为了展示对话框,我们需要自定义一个HUD(heads-up display,即平视显示器)。

    什么是HUD?
    HUD是平面显示界面,就是平时我们玩3D游戏提供给玩家的2D菜单界面。HUD类提供了渲染文字、贴图、矩形和材质的渲染,创建后也可以通过蓝图来编辑。

    创建HUD子类

    1) 点击文件-新建C++类;

    2) 选择从HUD类继承来创建我们自己的类;

    3) 给你的类命名,在我这里命名为MyHUD。创建好后就会自动打开VS开发环境。

    在VS编辑代码

    在MyHUD.h中里面添加如下代码:
    1. UCLASS()
    2. class DEMO1_API AMyHUD : public AHUD
    3. {
    4. GENERATED_BODY()
    5. public:
    6. // 添加字体属性(随后我们在蓝图编辑器中设置字体类型)
    7. UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = HUDFont) UFont* hudFont;
    8. // 下面这个重载函数每帧会被调用一次,在这个函数的定义里面来渲染字体
    9. virtual void DrawHUD() override;
    10. };

    在MyHUD.cpp中添加如下代码:
    1. void AMyHUD::DrawHUD()
    2. {
    3. // 先调用父类DrawHUD()函数
    4. Super::DrawHUD();
    5. // 接下来就渲染东西
    6. // 下面是画一条从(200,300)到(400,500)的蓝线:
    7. DrawLine(200, 300, 400, 500, FLinearColor::Blue);
    8. // 下面写一行文字(参数分别为文字、位置、字体、缩放、颜色):
    9. DrawText("UE4 is very interesting!", FVector2D(0, 0), hudFont, FVector2D(1, 1), FColor::White);
    10. }

    在蓝图编辑器设置字体

    1) 点击工具栏的蓝图-游戏模式-HUD:HUD-创建-MyHUD,来创建一个蓝图类,名字改为BP_MyHUD。

    2) 在右侧的细节面板中选择字体:

    3) 保存退出,然后打开之前创建的游戏模式的蓝图类:

    4) 在HUD class中选择BP_MyHUD作为我们的默认HUD。

    最后,你可以运行来看看HUD的效果:


    原文转自:http://www.52vr.com/article-564-1.html

    展开全文
  • 16.11.2 创建对话框类 16.11.3 添加Text菜单项 16.11.4 定义文本元素 16.11.5 实现CText 16.11.6 创建文本元素 16.12 小结 16.13 练习 第17章 存储和打印文档 17.1 了解串行化 17.2 串行化文档 17.2.1 文档定义...
  • 16.11.2 创建对话框类 16.11.3 添加Text菜单项 16.11.4 定义文本元素 16.11.5 实现CText 16.11.6 创建文本元素 16.12 小结 16.13 练习 第17章 存储和打印文档 17.1 了解串行化 17.2 串行化文档 17.2.1 文档定义...
  • 16.11.2 创建对话框类 16.11.3 添加Text菜单项 16.11.4 定义文本元素 16.11.5 实现CText 16.11.6 创建文本元素 16.12 小结 16.13 练习 第17章 存储和打印文档 17.1 了解串行化 17.2 串行化文档 17.2.1 文档定义...
  • 16.11.2 创建对话框类 16.11.3 添加Text菜单项 16.11.4 定义文本元素 16.11.5 实现CText 16.11.6 创建文本元素 16.12 小结 16.13 练习 第17章 存储和打印文档 17.1 了解串行化 17.2 串行化文档 17.2.1 文档定义...
  • 16.11.2 创建对话框类 16.11.3 添加Text菜单项 16.11.4 定义文本元素 16.11.5 实现CText 16.11.6 创建文本元素 16.12 小结 16.13 练习 第17章 存储和打印文档 17.1 了解串行化 17.2 串行化文档 17.2.1 文档定义...
  • 16.11.2 创建对话框类 16.11.3 添加Text菜单项 16.11.4 定义文本元素 16.11.5 实现CText 16.11.6 创建文本元素 16.12 小结 16.13 练习 第17章 存储和打印文档 17.1 了解串行化 17.2 串行化文档 17.2.1 文档定义...
  • 15.4.6 创建一个对话框应用 15.5 双重接口 15.5.1 调度表 15.5.2 COleDispatchImpl 15.5.3 m_xDispatch成员 15.5.4 输出IDispatch接口 15.5.5 双重接口的客户端 15.5.6 范例 15.6 可连接对象及其MFC实现 ...
  • javaSE代码实例

    2016-06-21 22:30:18
    15.1.2 外部之内创建内部对象 322 15.1.3 外部之外创建内部对象 323 15.1.4 内部与外部之间的成员互访 324 15.1.5 内部与外部的预定义对象引用this 327 15.2 局部内部 328 15.2.1 局部...
  • 疯狂JAVA讲义

    2014-10-17 13:35:01
    10.4.2 自定义异常 371 10.4.3 catch和throw同时使用 371 10.4.4 异常链 373 10.5 Java的异常跟踪栈 374 10.6 异常处理规则 376 10.6.1 不要过度使用异常 377 10.6.2 不要使用过于庞大的try块 378 10.6.3 ...
  • Java典型模块

    2012-02-25 18:27:40
    10.3.1 为什么需要版面的配置 10.3.2 Java语言中的各种布局管理器 10.4 小结 第11章 秒表(事件+线程) 11.1 秒表原理 11.1.1 项目结构框架分析 11.1.2 项目功能业务分析 11.2 秒表的实现过程 11.2.1 秒表 11.2.2 ...
  •  10.3.1 为什么需要版面的配置 194  10.3.2 java语言中的各种布局管理器 195  10.4 小结 201  第11章 秒表(事件+线程) 202  教学视频:7分钟  11.1 秒表原理 202  11.1.1 项目结构框架分析 202...
  •  10.3.1 为什么需要版面的配置 194  10.3.2 java语言中的各种布局管理器 195  10.4 小结 201  第11章 秒表(事件+线程) 202  教学视频:7分钟  11.1 秒表原理 202  11.1.1 项目结构框架分析 202  ...
  •  10.3.1 为什么需要版面的配置 194  10.3.2 java语言中的各种布局管理器 195  10.4 小结 201  第11章 秒表(事件+线程) 202  教学视频:7分钟  11.1 秒表原理 202  11.1.1 项目结构框架分析 202...
  •  10.3.1 为什么需要版面的配置 194  10.3.2 java语言中的各种布局管理器 195  10.4 小结 201  第11章 秒表(事件+线程) 202  教学视频:7分钟  11.1 秒表原理 202  11.1.1 项目结构框架分析 202...
  • 9.3.3 继承类成员的访问级别 455 9.4 派生中的复制构造函数 456 9.5 友元成员 461 9.5.1 友元 462 9.5.2 对友元关系的限制 462 9.6 虚函数 462 9.6.1 虚函数的概念 465 9.6.2 使用指向...
  • VC++ 专家指导.doc

    2012-07-14 09:06:49
    我先建立了对话框模板,然后使用ClassWizard建立了基于CFormView的新,它也是从CDocument继承来的。我还建立了相应的资源并在InitInstance中添加了新的文档模板。但是,当我试图运行该程序时,出现了Assertion信息...
  • 7.6.9 为什么要用内部:控制框架 7.7 构建器和多形性 7.7.1 构建器的调用顺序 7.7.2 继承和 7.7.3 构建器内部的多形性方法的行为 7.8 通过继承进行设计 7.8.1 纯继承与扩展 7.8.2 下溯造型与运行期类型标识 7.9 ...
  • ThinkInJava

    2013-05-28 14:36:27
    7.6.9 为什么要用内部:控制框架 7.7 构建器和多形性 7.7.1 构建器的调用顺序 7.7.2 继承和finalize() 7.7.3 构建器内部的多形性方法的行为 7.8 通过继承进行设计 7.8.1 纯继承与扩展 7.8.2 下溯造型与运行期类型...
  • Java初学者入门教学

    2012-03-14 21:17:15
    7.6.9 为什么要用内部:控制框架 7.7 构建器和多形性 7.7.1 构建器的调用顺序 7.7.2 继承和finalize() 7.7.3 构建器内部的多形性方法的行为 7.8 通过继承进行设计 7.8.1 纯继承与扩展 7.8.2 下溯造型与运行期类型...
  • java 编程入门思考

    2012-03-30 17:50:08
    7.6.9 为什么要用内部:控制框架 7.7 构建器和多形性 7.7.1 构建器的调用顺序 7.7.2 继承和finalize() 7.7.3 构建器内部的多形性方法的行为 7.8 通过继承进行设计 7.8.1 纯继承与扩展 7.8.2 下溯造型与运行期类型...
  • JAVA_Thinking in Java

    2011-12-02 17:58:15
    7.6.9 为什么要用内部:控制框架 7.7 构建器和多形性 7.7.1 构建器的调用顺序 7.7.2 继承和finalize() 7.7.3 构建器内部的多形性方法的行为 7.8 通过继承进行设计 7.8.1 纯继承与扩展 7.8.2 下溯造型与运行期类型...
  • thinkinjava

    2011-11-30 11:47:28
    7.6.9 为什么要用内部:控制框架 7.7 构建器和多形性 7.7.1 构建器的调用顺序 7.7.2 继承和finalize() 7.7.3 构建器内部的多形性方法的行为 7.8 通过继承进行设计 7.8.1 纯继承与扩展 7.8.2 下溯造型与运行期类型...
  • 7.6.9 为什么要用内部:控制框架 7.7 构建器和多形性 7.7.1 构建器的调用顺序 7.7.2 继承和finalize() 7.7.3 构建器内部的多形性方法的行为 7.8 通过继承进行设计 7.8.1 纯继承与扩展 7.8.2 下溯造型与运行期类型...
  • 7.6.9 为什么要用内部:控制框架 7.7 构建器和多形性 7.7.1 构建器的调用顺序 7.7.2 继承和finalize() 7.7.3 构建器内部的多形性方法的行为 7.8 通过继承进行设计 7.8.1 纯继承与扩展 7.8.2 下溯造型与运行期类型...
  • 7.6.9 为什么要用内部:控制框架 7.7 构建器和多形性 7.7.1 构建器的调用顺序 7.7.2 继承和finalize() 7.7.3 构建器内部的多形性方法的行为 7.8 通过继承进行设计 7.8.1 纯继承与扩展 7.8.2 下溯造型与运行期类型...
  • java联想(中文)

    2008-12-29 21:07:11
    7.6.9 为什么要用内部:控制框架 7.7 构建器和多形性 7.7.1 构建器的调用顺序 7.7.2 继承和finalize() 7.7.3 构建器内部的多形性方法的行为 7.8 通过继承进行设计 7.8.1 纯继承与扩展 7.8.2 下溯造型与运行期类型...
  • ThinkInJava chm

    2007-07-06 11:05:35
    7.6.9 为什么要用内部:控制框架 7.7 构建器和多形性 7.7.1 构建器的调用顺序 7.7.2 继承和finalize() 7.7.3 构建器内部的多形性方法的行为 7.8 通过继承进行设计 7.8.1 纯继承与扩展 7.8.2 下溯造型与运行期类型...
  • PT80-NEAT开发指南v1.1

    2014-06-24 18:38:34
    窗口的创建和删除 ................................................................................................................................ 22 窗口类型 .............................................

空空如也

空空如也

1 2 3
收藏数 56
精华内容 22
关键字:

创建自定义对话框需要继承什么类