自定义虚拟按键是一个可以在您的应用中添加虚拟按键的SDK组件。在集成云渲染SDK基础上,您可以在您的工程中集成自定义虚拟按键SDK,为您的应用适配相应的按键功能。
我们在虚拟按键的SDK中提供了便捷的编辑功能,您接入之后可以动态生成自定义的虚拟按键。编辑功能包括添加键盘(鼠标、手柄)按钮、调整按钮的位置以及改变按钮的大小等。
支持的按键主要分为三类,鼠标及摇杆、键盘、手柄。
1、鼠标按键(左、中、右、上滚、下滚)
2、键盘十字键(上下左右、WASD) 将W、A、S、D四个常规键盘按键合成一个类似游戏手柄的十字方向键,按压正上方时触发'W'按键消息,按45度角同时触发相邻两个按键。 上下左右十字键触发按键消息类同。
1、实体键盘中常用的78个按键
1、左、右摇杆键
2、手柄十字键
3、普通点击按键(A、B、X、Y、△、☐、×、○、Select、Start、LB、RB、L3、R3)
4、延时扳机键(LT、RT)【点击时在短时间内连续发多次消息,消息的力度随时间逐增减】
- 动态添加/删除按键
- 动态调整按键位置、大小
- 通过辅助线定位按键
- 点击类按键支持修改名称(最多显示6个字符)
注:UI切图等资源暂不支持动态设置
接口名称 | 接口描述 |
---|---|
setEditListener | 设置虚拟按键编辑事件监听 |
setGamePadTouchDelegate | 设置触摸事件的代理 |
showGamepad | 显示虚拟手柄 |
editGamepad | 编辑虚拟手柄 |
needConnected | 判断是否为手柄按键 |
1、 虚拟按键组件依赖云渲染SDK,请在您的应用里先集成云渲染SDK
2、集成SDK。在应用模块的build.gradle
中加入:
dependencies {
......
implementation 'com.tencent.tcr:tcr-gamepad:2.2.1'
}
3、初始化虚拟按键视图,读取配置文件
mGamePadManager = new GamepadManager(this,Tcrsession);
mCustomGamePadCfg = readConfigFile("lol_5v5.cfg"); //读取文件方式可自行实现
4、初始化虚拟键盘
mKeyboardView = new KeyboardView(this,Tcrsession);
5、添加自定义编辑监听器
mGamePadManager.setEditListener((isChanged, newCfg) -> {
if (isChanged){
mCustomGamePadCfg = newCfg;
}
mGamePadManager.showGamepad(mCustomGamePadCfg); // 编辑后更新新的按键视图
});
6、打开虚拟按键视图
mGamePadManager.showGamepad(mCustomGamePadCfg); // 打开虚拟按键
7、打开关闭编辑视图
mGamePadManager.editGamepad(mCustomGamePadCfg); // 打开自定义编辑视图
以上就是接入的核心步骤,具体代码可以参考Demo
布局配置文件是一个Json Config类型的文件。SDK可以通过加载配置文件的内容用于生成虚拟按键的布局。Demo工程中已放置了两类常用的布局配置文件,您可以在Demo工程中的asserts目录下查看。同时您还可以通过下方的配置文件生成工具去生成适配各类应用的虚拟按键布局,再将其配置文件保存后供应用加载和调用。
我们提供了自定义虚拟按键的配置工具,您可以使用该工具生成的按键布局配置供SDK使用。同时您还可以在自己的代码中将OnEditListener.onFinishEdit(boolean isChanged, String jsonCfg)
回调中的jsonCfg保存到本地,这个就是编辑完成之后的配置文件内容。
注:您不需要关心配置文件中的内容以及生成规则,您只需要导入和保存生成的配置文件供应用使用。
- 虚拟按键SDK支持的最低Android系统版本。
Android 5.0(API 级别 21)。