Unreal实现Android Studio端OnResume,OnPuase等方法以及监测iOS手机电量详细教学
业务场景介绍
众所周知,如果是在Android studio中开发安卓应用,如果我们想要检测应用的状态,在应用切入后台或者进入前台的时候是很容易的(调用onResume和Onpause方法就好)。但是如果是在Unreal端呢?如何实现这一功能呢?首先如果你在蓝图中输入bind,你可以看到以下内容:
从图中我们可以推断,对于用户进入应用,切出应用,结束应用等方法蓝图都有方法可以监听到这些事件;其中IOS还有低电量回调接口等。本篇主要是详细教你怎么去实现,跟着我一步步做就好了~
实现方法
方法概述
首先看一下这个方法,以OnResume方法为例(在Unreal中其实就是 BindEventtoApplicationHasEnteredForegourndDelegte),他的输入是一个PlatformGameInstance和一个Event。
PlatformGameInstance表示的是这个游戏的一个实例,当游戏在不同关卡切换时,这个实例都不会被销毁。它记录着游戏的各种状态。
Event很简单,表示当相应的事情发生时,你要执行什么样的代码。也就相当于在Android Studio中,你在OnResume方法里要写什么样的代码。
因此问题的核心不难看出:就是我们怎样来获得一个有效的PlatformGameInstance呢,
1. 创建Platform Game Instance
要创建Platform Game Instance,右键单击内容浏览器底部的任何地方,然后单击“Blueprint class”。
一个新的对话框将显示并询问你希望创建哪个父类。
要创建Platform Game Instance,我们需要单击底部的“All Classes”下拉菜单。
点击它将显示我们可以创建的所有类。
在搜索框中输入Platform Game Instance,单击Platform Game Instance文本,然后单击select创建我们的新游戏实例。
现在在命名你的Platform Game Instance后(这里将它命名为MobileStates),它将显示在内容浏览器中。
2. 配置Platform Game Instance
 首先要配置项目设置,在你可以访问游戏Platform Game Instance之前,你需要配置游戏以使用我们刚刚创建的Platform Game Instance。这是一个非常简单的步骤,只需要点击几下。单击右上角的编辑,然后单击项目设置。
 一旦项目设置窗口打开,搜索地图和模式选项并单击它。
 接着要访问和设置变量,要开始使用你的游戏实例,右键单击你的任何蓝图(角色,演员等),并输入get游戏实例。这将使用你设置的变量检索游戏实例。
3. 使用Platform Game Instance
 要开始使用你的Platform Game Instance,右键单击你的任何蓝图(角色,演员等),并输入get游戏实例。
 这将使用你设置的变量检索游戏实例。
 从获取游戏实例节点的引脚创建一个转换节点到新创建的游戏实例类。
 此转换节点的名称与前面设置的Platform Game Instance的名字相同。
 从Cast To MobileStates的返回值上,我们就得到了一个有效的Platform Game Instance。