Egret社区

1. 小游戏里找不到自定义的类

官方说:
在游戏使用到 egret.getDefinitionByName() 报错,找不到对应类时:

答:需要将要反射的类挂载到 window 对象下,例如有个 class People{} 类,需要添加代码 window[“People”] = People。示例demo下载



但手动一个个去找是不是很累? 有简单的办法

1.查找所有使用egret.getDefinitionByName  反射的类 ,写到一个TS文件里面去  (如:CustomTs.ts)


格式如: windows["Class1"]= Class1;
有命名空间的windows["ns1"]["Class2"] = ns1.Class2 ;
取命名空间: nsPattern='/module\s*([a-zA-Z0-9]+)\s*/';

取类名tsClassPattern='/class\s*([a-zA-Z0-9]+)\s*extends\s*';




注意的是命名空间需要保存起来,并提前申明
windows["ns1"  = {}




2.查找所有自定义组件,
游客,如果您要查看本帖隐藏内容请回复







分享到 :
4 人收藏

108 个回复

倒序浏览
598983636  初学乍练 | 2018-2-7 20:41:59
苏苏苏  圆转纯熟 | 2018-2-8 10:10:00
yanleiyu  圆转纯熟 | 2018-2-8 16:59:51
回复 回复   
minwallnt  登堂入室 | 2018-2-9 11:50:52
222222222222222222222222222222
jinqb  登堂入室 | 2018-2-9 16:37:08
本帖最后由 jinqb 于 2018-2-9 16:40 编辑

我也遇到了这个问题 不过我随便找了个ts文件加了 window[“People”] = People 就成功了 有点奇怪不是很懂module People{ 。。。}

我文件都是这样的结构
报错也是 People
然后我随便找了个ts文件加
liu_game  登堂入室 | 2018-2-27 14:10:15
mark
xjn9854262  登堂入室 | 2018-3-10 09:32:51
拿走了。谢谢
白蚂蚁  自成一派 | 2018-3-10 12:19:17
白蚂蚁  自成一派 | 2018-3-10 12:19:24
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号

Powered by Discuz! X3.2 © 2001-2019 Comsenz Inc.

返回顶部