你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
发现
话题
全文搜索
登录
[LayaAir 2.0]Laya2下ts继承报错!
Laya_Act.zip
Laya_Act.zip
没有找到相关结果
已邀请:
与内容相关的链接
提交
3 个回复
Aar0n
赞同来自:
多描述一下自己想做什么 做了哪些操作,直接怼一个图别人不明白你意思
柒汐夜
赞同来自:
唉,最讨厌看这种代码了。。
2.0的,没用过,也不敢用,像这种写法最怕的就是陷入死循环了。
大概说下问题所在(箭头指的是类结构的调用):
1.FAction_Stand--》2.FAction_Default--》3.FightRoleController--》4.FAction_SkillDefault--》2.FAction_Default
解析循环为啥会出现问题:
1.源码的写法是,先用一个缓存对象E将你要加载的类结构存起来,当你调用某个类结构index的时候,先去检测E[index]存在否,不存在,则创建E[index] = {},然后再去加载类结构存入E[index]。问题就在这里了,也就是说第一次调用2.FAction_Default时,缓存不存在,创建缓存,然后它开始去加载类结构,但加载到第4的时候又调用了2,此时缓存是存在的,但是该缓存还未初始化完毕,因此没有FAction_Default的声明部分,所以就报错了;
2.这里说下,类结构的加载过程中,类的声明是最慢的,也就是说类结构加载完才会有对应的类,你才能调用它。(看js文件源码的类结构部分,require的顺序,也就是对应import form的顺序是优先于类的声明的)
大概解决方法,砍掉循环,1和2,2和3,3和4之间,随便断开一个关联,使循环不成立即可。。
Aar0n
赞同来自:
项目正在查看,稍后答复
要回复问题请先
登录
发起人
fftidus
相关问题
Laya2.0 WebGl模式,使用 drawToCanvas 报错 ImageData is not defined?
使用谷歌chrom96版本滤镜报错
Chrome104.0.51112.102版本LayaBox2.13.0启动报错
laya2.0加载3d场景报错Uncaught TypeError: Cannot read property 'btCollisionObject' of undefined
【带附件】 使用Laya2.0.0beta5.1 发布官方示例 真机报错 window is not defined
ide 2.4 layaair2-cmd 编译报错
laya2的Scene默认是文件模式,不会生成场景类了,此时该如何获得场景内的元素
真机调试报错:LayaPlayer不支持的标签</SCRIPT>
IDE通过.ui自动生成的ui代码报错
本地调试加载本地图片都报错
runtime运行报错!
问题状态
最新活动:
2018-11-19 09:52
浏览:
3096
关注:
2
人
商务合作
3 个回复
Aar0n
赞同来自:
柒汐夜
赞同来自:
2.0的,没用过,也不敢用,像这种写法最怕的就是陷入死循环了。
大概说下问题所在(箭头指的是类结构的调用):
1.FAction_Stand--》2.FAction_Default--》3.FightRoleController--》4.FAction_SkillDefault--》2.FAction_Default
解析循环为啥会出现问题:
1.源码的写法是,先用一个缓存对象E将你要加载的类结构存起来,当你调用某个类结构index的时候,先去检测E[index]存在否,不存在,则创建E[index] = {},然后再去加载类结构存入E[index]。问题就在这里了,也就是说第一次调用2.FAction_Default时,缓存不存在,创建缓存,然后它开始去加载类结构,但加载到第4的时候又调用了2,此时缓存是存在的,但是该缓存还未初始化完毕,因此没有FAction_Default的声明部分,所以就报错了;
2.这里说下,类结构的加载过程中,类的声明是最慢的,也就是说类结构加载完才会有对应的类,你才能调用它。(看js文件源码的类结构部分,require的顺序,也就是对应import form的顺序是优先于类的声明的)
大概解决方法,砍掉循环,1和2,2和3,3和4之间,随便断开一个关联,使循环不成立即可。。
Aar0n
赞同来自: