Laya2.0制作排行榜遇见问题
报错误一:简单的排行榜功能都遇到的错误
Uncaught TypeError: Cannot read property 'USER_DATA_PATH' of undefined
解决办法:
在子域中加下列代码,作用是表明这是子域/开发域。
Laya.isWXPosMsg = true;
Laya.isWXOpenDataContext = true;
在主域中加下列代码,作用是表明这是主域。
Laya.isWXPosMsg = true;
Laya.isWXOpenDataContext = false;
报错误二:不修改创建的项目遇到的错误。
解决办法:这是由于LayaAir2.0开始自动使用资源版本控制,注释或删除下列代码及调用的方法。
//**资源版本控制,version.json由IDE发布功能自动生成,如果没有也不影响后续流程
Laya.ResourceVersion.enable("version.json", Laya.Handler.create(this, this.onVersionLoaded), Laya.ResourceVersion.FILENAME_VERSION);
报错三:想导如场景遇到的错误
无法调用Scene场景
解决办法:在编辑页面将要显示的页面类型改成View,将导出类型改成内嵌模式。
然后调用代码let test: Laya.View = new T();//T是该页面的继承类 Laya.stage.addChlid(test);
四:这不是一个错误,只是从主域传进来的数据要进行的处理。
/**对数据处理分发*/
private wxOnMessage() {
let self = this;
window['wx'].onMessage(function (message) {
if (message['isLoad'] == "filedata" || message['isLoad'] == "filenative") {
self.ReceiveRes(message);
}
// if (message.cmd == 10) {
// console.log("输出了10");
//}
});
}
/**从主域获取资源数据 */
private ReceiveRes(message: any) {
if (message['isLoad'] == "filedata") {
Laya['MiniFileMgr'].ziyuFileData[message.url] = message.data;//文本数据
} else if (message['isLoad'] == "filenative") {
//子域接收主域传递的文件信息
if (message.isAdd)
Laya['MiniFileMgr'].filesListObj[message.url] = message.data;
else
delete Laya['MiniFileMgr'].filesListObj[message.url];
}
}
问题五:
子域只支持2D渲染,初始化也必须使用canvas,而不是WebGL。
解决办法:修改main入口类中的初始化方法。
//根据IDE设置初始化引擎
Laya.init(GameConfig.width, GameConfig.height, Laya["canvas"]);
问题六:
在Laya中使用Promise需要做的前提