简要描述:
语法
void WhaleCloud.getInstance().start(String data, OnGameStatusListener mListener)参数:
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| data | 是 | String | 启动参数。通过OPENAPI playGame 接口获取 |
| mListener | 是 | OnGameStatusListener | 回调 |
OnGameStatusListener回调函数:
| 回调函数 | 说明 |
|---|---|
| void onGameStarting(); | 游戏开始加载 |
| void onGameBegin(); | 游戏开始 |
| void onGameStop(); | 游戏停止 |
| void onError(int code ,String msg); | 游戏错误事件 |
| void onEvent(int code,String msg); | 游戏事件 |
| void onGameQOS(Map<String, String> qos); | 游戏服务质量 |
| void onGameFeedBack(JyFeedBackEvent event); | 游戏事件反馈(鼠标/手柄振动/跳转url) |
void onGameFeedBack(JyFeedBackEvent event)
JyFeedBackEvent.eventID
| JyFeedBackEvent.eventID | 值 | 说明 |
|---|---|---|
| JyFeedBackEvent.EVENT_GAMEPAD_RUMBLE | 4 | 手柄振动反馈 |
| JyFeedBackEvent.EVENT_MOUSE_RELATIVE | 5 | 鼠标相对位置 |
| JyFeedBackEvent.EVENT_CURSOR_UPDATE | 6 | 鼠标光标反馈 |
| JyFeedBackEvent.EVENT_POSITION_UPDATE | 7 | 鼠标位置反馈 |
| JyFeedBackEvent.EVENT_INPUT | 8 | INPUT 键盘输入反馈 |
| JyFeedBackEvent.EVENT_OPEN_URL | 11 | 打开URL反馈 |
| JyFeedBackEvent.EVENT_WIN_POPUP | 13 | 窗口打开反馈 |
| JyFeedBackEvent.EVENT_POSITION_UPDATE_NEW | 14 | 新鼠标位置反馈 |
如果event.eventID == JyFeedBackEvent.EVENT_CURSOR_UPDATE
表示客户端接收到鼠标图标更新事件,相关参数如下:
| 鼠标相关参数 | 说明 |
|---|---|
| JyFeedBackEvent.cursorType | 图标样式 |
| JyFeedBackEvent.x_offset | 图标焦点偏移X值 |
| JyFeedBackEvent.y_offset | 图标焦点偏移Y值 |
| JyFeedBackEvent.cursorIcon | cursor图标bmp数据 |
| JyFeedBackEvent.cursorType | 说明 |
|---|---|
| 1 | 箭头光标 |
| 2 | 十字光标 |
| 3 | I形文本光标 |
| 4 | 空图标 |
| 5 | 右下有小方形的方形图标 |
| 6 | 带有指向东北方和西南方箭头的光标 |
| 7 | 带有指向北方和南方箭头的光标 |
| 8 | 带有指向西北方和东南方箭头的光标 |
| 9 | 带有指向东方和西方箭头的光标 |
| 10 | 垂直箭头光标 |
| 11 | 计时光标(也称沙漏光标) |
可以根据cursorType 设置安卓系统图标样式,参考代码
getWindow().getDecorView().setPointerIcon(PointerIcon.getSystemIcon(mContext, PointerIcon.TYPE_TEXT));
或者自定义图标样式
Bitmap bmp = BitmapFactory.decodeByteArray(iconData, 0, iconData.length);
PointerIcon mNewPI = PointerIcon.create(bmp, (float) x_offset, (float) y_offset);
getWindow().getDecorView().setPointerIcon(mNewPI);
如果event.eventID ==JyFeedBackEvent.EVENT_POSITION_UPDATE_NEW
回调参数如下
| 鼠标相关参数 | 说明 |
|---|---|
| JyFeedBackEvent.position_x | 鼠标绝对位置X |
| JyFeedBackEvent.position_y | 鼠标绝对位置Y |
| JyFeedBackEvent.mode | 鼠标模式 |
if(JyFeedBackEvent.mode&0x02 == 0x02)
当前GS判断鼠标使用相对模式,使用服务器鼠标位置
注意:发送的位置为鼠标焦点位置,需要自行折算为贴图位置
在鼠标需要放大缩小的情况下,焦点位置是不变的
典型游戏,罗布乐思,可以在openApi 上设置gs_mousemode =2 做测试
https://xjkem442l4.apifox.cn/232828455e0