104 lines
3.2 KiB
Markdown
104 lines
3.2 KiB
Markdown
|
---
|
|||
|
id: other.html
|
|||
|
title: 其他原生支持
|
|||
|
---
|
|||
|
|
|||
|
## 开启优化开关
|
|||
|
|
|||
|
**适用于Android和iOS support 3.2.2及以上。**
|
|||
|
|
|||
|
**功能:**开启support对部分功能的优化。这些优化项暂时是默认关闭的,稳定之后会直接添加到support中。
|
|||
|
|
|||
|
**使用方法:**在native_require.js的egretInit函数中,修改egret_native.featureEnable的参数。例如打开渲染效率的优化方法如下:
|
|||
|
~~~
|
|||
|
var feature = {
|
|||
|
cmdBatch : true
|
|||
|
};
|
|||
|
egret_native.featureEnable(feature);
|
|||
|
~~~
|
|||
|
**参数:**一个js对象,目前可用的属性有:
|
|||
|
|
|||
|
cmdBatch: 减少引擎与support的数据传输次数,提高渲染效率(3.2.2添加)。
|
|||
|
|
|||
|
pretreatTexture:提高一张纹理被多次使用时的渲染效率(3.2.4添加)。
|
|||
|
|
|||
|
|
|||
|
|
|||
|
## 热更新地址不能访问时启动最后一次更新的游戏包
|
|||
|
|
|||
|
**适用于iOS support 3.2.2及以上。**
|
|||
|
|
|||
|
**功能:**热更新地址不能访问时启动最后一次更新的游戏。
|
|||
|
|
|||
|
**使用方法:**在启动游戏之前,设置访问热更新地址的等待时间。修改ViewController的runGame方法,在启动EgretRuntime前调用:
|
|||
|
![](p1.png)
|
|||
|
**参数:**等待时间(秒)
|
|||
|
|
|||
|
## 切换音频解码方式
|
|||
|
|
|||
|
**适用于Android support 3.2.2及以上。**
|
|||
|
|
|||
|
**功能:**选择是否默认优先使用PCM解码。默认是开启的,在大多数情况下,使用PCM解码速度更快,但是有的音频的时间会很长。
|
|||
|
|
|||
|
**使用方法:**在调用play事件之前,使用egret_native.setPcmDecodeEnable来开启或关闭。
|
|||
|
|
|||
|
**参数:**true/false
|
|||
|
|
|||
|
|
|||
|
## 设置游戏背景透明
|
|||
|
|
|||
|
**适用于Android support 3.2.1及以上,iOS support 3.2.4及以上。**
|
|||
|
|
|||
|
**功能:**设置游戏所在View的背景透明。
|
|||
|
|
|||
|
**使用方法:**
|
|||
|
|
|||
|
Android:
|
|||
|
|
|||
|
在 getGameOptions 里添加属性:
|
|||
|
~~~
|
|||
|
options.put(EgretRuntime.OPTION_GAME_GLVIEW_TRANSPARENT, "true");
|
|||
|
~~~
|
|||
|
**说明:**背景设置为透明后,场景后面会有一个 EditText ,可以通过
|
|||
|
~~~
|
|||
|
((ViewGroup)gameEngineView).removeViewAt(0);
|
|||
|
~~~
|
|||
|
去掉。保留这个控件是为了兼容2.X 的引擎,默认是存在的,如果使用3.0以上的引擎版本则可以去掉。
|
|||
|
|
|||
|
iOS:
|
|||
|
|
|||
|
在 runGame 中为 _options 添加属性:
|
|||
|
~~~
|
|||
|
_options[@OPTION_GAME_GLVIEW_TRANSPARENT] = @"true";
|
|||
|
~~~
|
|||
|
|
|||
|
## 设置游戏所在View在最顶层(Android)
|
|||
|
|
|||
|
**适用于Android support 3.2.1及以上。**
|
|||
|
|
|||
|
**功能:**修改游戏所在View的层级
|
|||
|
|
|||
|
**使用方法:**将获取 gameEngineView 的方法由 game_engine_get_view 改为 game_engine_get_view_set_top ,将游戏所在的 View 放到最顶层。
|
|||
|
|
|||
|
|
|||
|
## 获取原生设备的电池电量信息
|
|||
|
|
|||
|
**适用于Android/iOS support 3.1.4及以上。**
|
|||
|
|
|||
|
**功能:**获取原生设备的电池电量信息。
|
|||
|
|
|||
|
**使用方法:**
|
|||
|
```javascript
|
|||
|
var json_listene = { action: "listenDeviceInfoChanged" };
|
|||
|
var jsonStr_listene = JSON.stringify(json_listene);
|
|||
|
egret.ExternalInterface.call("egret.deviceInfo", jsonStr_listene);
|
|||
|
|
|||
|
egret.ExternalInterface.addCallback("egret.deviceInfo", function (message) {
|
|||
|
console.log("message form native : " + message);
|
|||
|
});
|
|||
|
var json = { action: "getCurrentBatteryInfo" };
|
|||
|
var jsonStr = JSON.stringify(json);
|
|||
|
egret.ExternalInterface.call("egret.deviceInfo", jsonStr);
|
|||
|
```
|
|||
|
|