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导出的资源缺少骨骼

相关推荐
IT_陈寒1 分钟前
Redis卡顿的锅,这次真不是大key的错
前端·人工智能·后端
可乐鸡翅yeah_8 分钟前
video.js 集成 hls.js 开发 M3U8 播放器,新手高频踩坑
开发语言·前端·javascript·后端·ecmascript·m3u8·音视频在线播放
程序猿追35 分钟前
HarmonyOS 6 上做个极简浏览器:Web 组件 + 前进后退 + 加载进度
前端·华为·harmonyos
沐沐师37 分钟前
Mybatis 框架教程
前端
三天不学习1 小时前
Tailwind CSS 快速入门(2026 版):从 v4 零配置上手,到「该不该用、怎么用好」的选型实战
前端·css·tailwind
明月_清风1 小时前
面对陌生的 GitHub 项目无从下手?这 4 个网站帮你快速读懂源码
前端·后端·github
htzyl2061 小时前
前端阶梯——第九章、颜色、文本与背景
前端·css
zhangzeyuaaa2 小时前
Ruby `require` 完全指南:从 `$LOAD_PATH` 到 `require_relative`
服务器·前端·ruby
htzyl2062 小时前
前端阶梯——第八章、CSS入门与选择器
前端·css
用户117953654782 小时前
TRAE vs Claude Code 性能对比:从代码生成、多文件重构到底层吞吐,谁更适合你的日常开发?
javascript