[LayaAir 2.0]laya2.0 IDE继承自定义类要怎么写?
比如我有这样一个基类
export default class UIBase extends Laya.View{}
然后在编译界面按F9 添加UIbase到 场景类型里面,这样在创建新的场景的时候就会有UIBase可以继承,但生成的LayaMaxUI.ts文件会报错,请问下我还需要做什么操作才能满足我的需求呢? 就是可以每次创建界面的时候继承UIBase类,而不用继承view 或者scene呢
export default class UIBase extends Laya.View{}
然后在编译界面按F9 添加UIbase到 场景类型里面,这样在创建新的场景的时候就会有UIBase可以继承,但生成的LayaMaxUI.ts文件会报错,请问下我还需要做什么操作才能满足我的需求呢? 就是可以每次创建界面的时候继承UIBase类,而不用继承view 或者scene呢
没有找到相关结果
已邀请:
要回复问题请先登录
3 个回复
kimiMaro
赞同来自:
石圣
赞同来自:
由于今天心情比较好,所以就去研究了一下解决方案,刚好发现了这个小bug所在,哈哈,具体方法如下:
1.找到Laya安装目录下的layabuilder.max.js这个文件。
如果是mac系统,目录可以参考下面,记得将版本号改为自己使用的版本!
/Applications/LayaAirIDE_beta.app/Contents/Resources/app/out/vs/layaEditor/h5/layabuilder.max.js
用windows的同学请自行找目录哈。
2.找到下面代码,具体行号不同版本可能不一样,仅供参考
24522 if(this.projectSetting.codeType==1){
24523 classObj["classType"]="Laya." + baseName;
24524 }
3.修改为下面样子,其实就是去掉了"Laya."这个前缀
24522 if(this.projectSetting.codeType==1){
24523 classObj["classType"]= baseName;
24524 }
4.重启LayaIDE,导出就发现666了。大多数同学的问题到这里就解决完毕了。有好奇心的同学可以继续看看下一步~
5.注意这里会将所有的"Laya."前缀都去掉,大家可以根据自己需要做判断。也可以在F9设置里把需要Laya前缀的类加到“Code导入类”里面来解决这个问题。
Victor
赞同来自:
关于自定义场景继承的实现