其他原生支持
开启优化开关
适用于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前调用:
参数:等待时间(秒)
切换音频解码方式
适用于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及以上。
功能:获取原生设备的电池电量信息。
使用方法:
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);