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

本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索
HelloWorld杰少 即可关注。

前言

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

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

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

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

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

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

ARK:Survival Evolved

image

image

image

image

堡垒之夜

image

image

Dauntless

image

Phoenix Point

image

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

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

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

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

image

2. 选择 Blank 模板

image

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

image

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

image

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

image

image

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

image

image

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

image

image

image

image

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

image

9. 打开 Xcode 工程,在 “MyUserWidget” 类中声明并实现我们要在 UE 中调用的函数 “callStartFunction()”
#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();
};
#include "MyUserWidget.h"

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

10. 编译下 UE 工程

image

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

image

image

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

image

image

image

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

image

image

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

image

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

image

最后

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

相关阅读:

UE4 如何实现与 iOS 原生之间的数据交互
UE4 开发之如何创建 iOS 平台插件
UE4 开发之实现按钮事件响应
UE4 开发之配置 Xcode 调试环境

关注我的技术公众号,获取优质技术文章。
微信扫一扫下方二维码即可关注:
image

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HelloWord杰少

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值