Laya3D常见报错信息汇总

1.Cannot read property 'isTrigger' of undefined:貌似是Laya引擎的bug

解决方法:

在初次加载带有刚体的3D游戏对象组件的时候,使用代码获取刚体组件,设置刚体组件的isTrigger属性:

javascript 复制代码
let rigid = this.obj.getComponent(Laya.Rigidbody3D) as Laya.Rigidbody3D;
rigid.enabled = false;
rigid.isKinematic = false;
rigid.isTrigger = false;

2.销毁3D对象的时候必须同时销毁他的子对象:否则会报各种奇怪的错误

javascript 复制代码
let boy = boyTemp.getChildByName("boy");
let boyAnimRun = boyTemp.getComponent(Laya.Animator) as Laya.Animator;
boyAnimRun.enabled = false;
boyAnimRun.destroy();
boyTemp.removeChildren();
boyTemp.destroy(true);

3.多点误触的bug,laya2.2.0底层问题,解决方法:
(1) 关闭多点误触的开关:

javascript 复制代码
Laya.MouseManager.multiTouchEnabled = false;

(2) 底层单例队列的bug解决:不改变源码的情况下,重写该方法

javascript 复制代码
public static SingletonList_expand() {
        Laya.SingletonList.prototype["_remove"] = function (index) {
            // @xd added, 如果index == -1 不执行
            if (index == -1) {
                return;
            }


            this.length--;
            if (index !== this.length) {
                var end = this.elements[this.length];
                // @xd added, 添加end是存存在判断
                if (end) {
                    this.elements[index] = end;
                    end._setIndexInList(index);
                }


            }
        }


        var old_func = Laya.SimpleSingletonList.prototype.add;
        Laya.SimpleSingletonList.prototype.add = function (element) {
            var index = element._getIndexInList();
            // add, 添加安全性判断.
            if (index !== -1) {
                
                return;
            }


            old_func.call(this, element);
        }


    }

4.iphone6 微信版本7.0.2 游戏加载报错,问题原因,banner的onclosed函数回调报错:去掉onclosed回调后问题解决

5.3D游戏遇到,只在ios上会卡顿的问题:
因为要在cube的正反两面贴图片,如果只用材质球的话,cude的四个面都会有贴图,所以就在cube模型上添加了两个平面作为子节点,然后平面上在贴材质球,结果问题就出现在ios上了;
原因cube模型上添加了两个平面作为子节点,然后Cube做移动的动画,ios上会卡顿,目前没有找到具体原因,解决方法就是让美术做模型贴图,然后U3D这边做创建空节点存放模型,再做移动的逻辑就好
6.编译报错解决办法:rollup.js

javascript 复制代码
console.log(JSON.stringify(module), JSON.stringify(err));

7.加载图片报错:Failed to set the 'buffer' property on 'AudioBufferSourceNode'

解决办法:

8.Laya.Event.CLICK事件监听,回调函数,传参示例:

9.list组件的数据datasource不能含有关键字,如果cell的类型是img的话,datasource不能含有skin字段,否则会自动复制skin字段给cell本身的skin属性:

10.laya的UI资源,设置centerX和centerY的时候,必须要有width和heigth属性值,不然的话,UI的位置容易错乱;

无论是代码创建的UI还是编辑器中直接编辑的UI资源,都要注意这一点;

11.【laya2.0编译报错捕捉】

LayaAirIDE2\resources\app\node_modules\rollup\dist\rollup.js

用图中console.log打印报错。

console.log(JSON.stringify(module), JSON.stringify(err));

12.试图调用仅当实体已添加到场景中时才可用的物理函数

javascript 复制代码
Attempted to call a Physics function that is avaliable only when the Entity has been already added to the Scene.

13._getHierarchyPath U3D导出的资源缺少骨骼

相关推荐
zhougl99613 分钟前
html处理Base文件流
linux·前端·html
花花鱼17 分钟前
node-modules-inspector 可视化node_modules
前端·javascript·vue.js
HBR666_20 分钟前
marked库(高效将 Markdown 转换为 HTML 的利器)
前端·markdown
careybobo2 小时前
海康摄像头通过Web插件进行预览播放和控制
前端
TDengine (老段)2 小时前
TDengine 中的关联查询
大数据·javascript·网络·物联网·时序数据库·tdengine·iotdb
杉之3 小时前
常见前端GET请求以及对应的Spring后端接收接口写法
java·前端·后端·spring·vue
喝拿铁写前端3 小时前
字段聚类,到底有什么用?——从系统混乱到结构认知的第一步
前端
再学一点就睡3 小时前
大文件上传之切片上传以及开发全流程之前端篇
前端·javascript
木木黄木木4 小时前
html5炫酷图片悬停效果实现详解
前端·html·html5
请来次降维打击!!!5 小时前
优选算法系列(5.位运算)
java·前端·c++·算法