前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >UE4 开发之实现按钮事件响应

UE4 开发之实现按钮事件响应

作者头像
HelloWorld杰少
发布2022-08-04 13:56:35
2.5K0
发布2022-08-04 13:56:35
举报
文章被收录于专栏:HelloWorld杰少HelloWorld杰少

前言

电子游戏对大家来说应该是熟悉的不能再熟悉的东西了,现在游戏已经慢慢的成为了大家生活中不可或缺的伙伴,而说到游戏大家聚在一起讨论的可能就是这个游戏的画质如何,游戏的故事情节如何,以及动画的效果如何等等话题,但是大家了解一款游戏它是怎么被开发出来的吗?

那就必须要用到游戏引擎了,当然今天的文章不是来给大家介绍如何开发一款游戏引擎,因为毕竟我也没这个能力去开发(菜鸡一枚),所以我今天就简单用几句话来聊一下。

我记得上大学那会,流行网页游戏,那时候游戏公司都是用 AS 来开发游戏,用 Flash 来渲染游戏;后来等到我大学毕业, 手游行业开始兴起,各大游戏公司都开始用 Cocos2d-x 开发移动端手游,但是没过多久 Unity3D 异军突起,大家又开始投奔到 U3D 的怀抱;现在,UE4 又凭借其强大的功能在游戏开发者界大出风头,吸引了大量游戏开发者的目光。

所以本篇文章主要是围绕 UE4 来展开的,先简单的了解一下它吧!

虚幻引擎是什么?我简单的摘抄了一段来自维基百科得介绍:虚幻引擎(英语:Unreal Engine)是一款由Epic Games开发的游戏引擎。该引擎主要是为了开发第一人称射击游戏而设计,但现在已经被成功地应用于开发潜行类游戏、格斗游戏、角色扮演游戏等多种不同类型的游戏。

先瞥一眼使用虚幻4开发得热门游戏(Epic Games 首页上得图,并不是广告):

ARK:Survival Evolved

堡垒之夜

Dauntless

Phoenix Point

从游戏截图得效果来看,使用 UE4 开发得游戏,游戏画面都非常得精美,这也使得很多得游戏开发团队转向使用 UE4 来开发,其原因也是得力于 UE4 它自身提供给开发者强大而且上手方便的开发工具。虽然使用 UE4 开发的游戏都是些大型的游戏,但 UE4 也跟 Unity3D 一样支持跨平台,相信在不久的以后,更多的手游会使用 UE4 来制作。

好了,简单的废话了几句,接下来我们开始进入正题。如何用 UE4 去实现一个界面上按钮的响应事件。

先说下我的开发环境:我的引擎版本为 4.24.1,开发环境为 MacOSX

1. 新建一个 UE4 工程,选择游戏

2. 选择 Blank 模板

3. 选择 C++ 项目(推荐),输入项目名称,创建项目

4. 创建成功后, 会自动创建一个 Xcode 工程,后面我们会讲到

5. 在 UE 工程中,打开"内容浏览器",新增一个 C++ 类 "MyUserWidget", Xcode 工程也会同步到这个类

6. 在 "选择父类" 面板中, 勾选"显示所有类", 并通过搜索找到 UserWidget 并创建

7. 在 "内容浏览器" 中新建 "用户界面-->控件蓝图" 名称自定义为 "HelloUE",创建好后在左侧选择 Button 和 Text 控件,拖动到面板上,选中按钮控件,并将右侧面板滚动到最下面,找到事件中的 "On Clicked" 点击绿色的加号为该按钮添加事件

8. 在 控件蓝图 面板中选中 "类设置",在左侧的父类下拉列表中选择我们刚才创建的 C++ 类 "MyUserWidget"

9. 打开 Xcode 工程,在 "MyUserWidget" 类中声明并实现我们要在 UE4 中调用的函数 "callStartFunction()"

代码语言:javascript
复制
#pragma once

#include "CoreMinimal.h"
#include "Blueprint/UserWidget.h"
#include "MyUserWidget.generated.h"

/**
 * 
 */
UCLASS()
class HELLOUE_API UMyUserWidget : public UUserWidget
{
    GENERATED_BODY()

    UFUNCTION(BlueprintCallable)
    void callStartFunction();
};
代码语言:javascript
复制
#include "MyUserWidget.h"

void UMyUserWidget::callStartFunction()
{
    FPlatformMisc::MessageBoxExt(EAppMsgType::Ok, TEXT("start"), TEXT("callStartFunction"));
}

10. 编译下 UE 工程

11. 回到我们的蓝图控件中,选择 "图表", 拖动箭头,通过搜索找到我们的函数 "callStartFunction"

12. 打开关卡蓝图,拖动 "事件BeginPlay" 的箭头,在弹出的框中找到 "用户界面-->创建控件",

13. 选择之前创建的用户界面类 "HelloUE", 并将之 "Add to Viewport"

14. 点击 "播放" 按钮, 我们带按钮控件的用户界面就创建出来了

15. 点击按钮,并弹出对话框,表示按钮事件响应成功

最后

本篇的文章比较简单,大家按照我的流程操作,就能简单的实现按钮的事件响应。 此篇的内容到这里就结束了,下篇文章的内容我会带来 UE4 如何与 iOS 原生系统进行数据交互。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 HelloWorld杰少 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 1. 新建一个 UE4 工程,选择游戏
  • 2. 选择 Blank 模板
  • 3. 选择 C++ 项目(推荐),输入项目名称,创建项目
  • 7. 在 "内容浏览器" 中新建 "用户界面-->控件蓝图" 名称自定义为 "HelloUE",创建好后在左侧选择 Button 和 Text 控件,拖动到面板上,选中按钮控件,并将右侧面板滚动到最下面,找到事件中的 "On Clicked" 点击绿色的加号为该按钮添加事件
  • 8. 在 控件蓝图 面板中选中 "类设置",在左侧的父类下拉列表中选择我们刚才创建的 C++ 类 "MyUserWidget"
  • 9. 打开 Xcode 工程,在 "MyUserWidget" 类中声明并实现我们要在 UE4 中调用的函数 "callStartFunction()"
  • 10. 编译下 UE 工程
  • 11. 回到我们的蓝图控件中,选择 "图表", 拖动箭头,通过搜索找到我们的函数 "callStartFunction"
  • 12. 打开关卡蓝图,拖动 "事件BeginPlay" 的箭头,在弹出的框中找到 "用户界面-->创建控件",
  • 13. 选择之前创建的用户界面类 "HelloUE", 并将之 "Add to Viewport"
  • 15. 点击按钮,并弹出对话框,表示按钮事件响应成功
  • 最后
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档