Egret社区

[Egret Engine] 根据类名去获得类 获得的类不对

2016-8-12 17:32
514528
产品 Egret Engine 版本 3.0.8;3.1.3
复现概率 100% 平台 Android 5.1.1
复现步骤 一个基类Base,一个继承Base的BaseUI类,一个继承BaseUI的Logic逻辑类
一个含有切换场景的changeScene静态方法的Scene类,
以及一个根据disClass获取对应类实例的静态方法getView(disClass) {
var view = new disClass();
return view;
}

changeScene(disClass) {
var view = this.getView(disClass);
egret.log(egret.getQualifiedClassName(view));
}
当先changScene(LoadingUI)切换到一个loading类,效果达到没问题,但是当loading加载完后,再changeScene(Page)到另一个Page类时,问题发生了。
这里changeScene的egret.log在PC的chrome测试下打印完全正常,
但是一经发布之后,在微信web开发者工具上以及安卓手机上打印的都不正常,切换到Page类的时候egret.log打印的是LoadingUI

LoadingUI和Page的父类的父类是Base,父类是各自的UI界面
问题描述 根据类名去获得类 获得的类不对
错误代码 getView(disClass) {
var view = new disClass();
return view;
}

changeScene(disClass) {
var view = this.getView(disClass);
egret.log(egret.getQualifiedClassName(view));
}
BUG截图
本帖最后由 aknight 于 2016-8-12 18:12 编辑

一个基类Base,一个继承Base的BaseUI类,一个继承BaseUI的Logic逻辑类
一个含有切换场景的changeScene静态方法的Scene类,
以及一个根据disClass获取对应类实例的静态方法getView(disClass) {
  var view = new disClass();
  return view;
}

changeScene(disClass) {
    var view = this.getView(disClass);
    egret.log(egret.getQualifiedClassName(view));
}
当先changScene(LoadingUI)切换到一个loading类,效果达到没问题,但是当loading加载完后,再changeScene(Page)到另一个Page类时,问题发生了。
这里changeScene的egret.log在PC的chrome测试下打印完全正常,
但是一经发布之后,在微信web开发者工具上以及安卓手机上打印的都不正常,切换到Page类的时候egret.log打印的是LoadingUI

LoadingUI和Page的父类的父类是Base,父类是各自的UI界面


最后通过egret.getDefinitionByName通过传字符串去获得类限定名 然后new出来 结果就正常了

filehelper_1470993973585_1.png

filehelper_1470993997842_82.png

filehelper_1470994019614_57.png

filehelper_1470994051729_38.png

filehelper_1470994100289_21.png
可以看到最后打印的两个都是LoadingUI
eeg3.0.3.rar (409.29 KB, 下载次数: 2)
分享到 :
0 人收藏
如果不是为了山顶,我又何须踏土碾泥

28 个回复

倒序浏览
yjtx  官方团队 | 2016-8-12 17:38:03
不好意思,具体怎么调用的真没看懂,麻烦把完整的demo发下吧。
aknight  炉火纯青 | 2016-8-12 18:12:59
yjtx 发表于 2016-8-12 17:38
不好意思,具体怎么调用的真没看懂,麻烦把完整的demo发下吧。

demo已提供
yjtx  官方团队 | 2016-8-12 20:01:56

BC29C5BE-7856-45C3-AD5F-01430AD1D4A2.png   我这边看到的是2 不同的类啊,我看代码也刚好是这2个呀
aknight  炉火纯青 | 2016-8-12 20:38:56
yjtx 发表于 2016-8-12 20:01
我这边看到的是2 不同的类啊,我看代码也刚好是这2个呀

我这边用微信web开发者工具 v0.7.0 测试 是两个LoadingUI
aknight  炉火纯青 | 2016-8-12 20:42:03
aknight 发表于 2016-8-12 20:38
我这边用微信web开发者工具 v0.7.0 测试 是两个LoadingUI

如果同一个项目在你那边可以运行得到正常结果,那我这边是环境的问题导致发布出去的结果又问题么?  在wing里编辑调试是正常的,发布出去就不正常了
aknight  炉火纯青 | 2016-8-12 20:43:25
yjtx 发表于 2016-8-12 20:01
我这边看到的是2 不同的类啊,我看代码也刚好是这2个呀

如果同一个项目在你那边可以运行得到正常结果,那我这边是环境的问题导致发布出去的结果又问题么?  在wing里编辑调试是正常的,发布出去就不正常了. 你这个好像是调试, 我调试也是正常的
aknight  炉火纯青 | 2016-8-12 20:43:27
yjtx 发表于 2016-8-12 20:01
我这边看到的是2 不同的类啊,我看代码也刚好是这2个呀

如果同一个项目在你那边可以运行得到正常结果,那我这边是环境的问题导致发布出去的结果又问题么?  在wing里编辑调试是正常的,发布出去就不正常了. 你这个好像是调试, 我调试也是正常的
aknight  炉火纯青 | 2016-8-12 20:43:33
yjtx 发表于 2016-8-12 20:01
我这边看到的是2 不同的类啊,我看代码也刚好是这2个呀

如果同一个项目在你那边可以运行得到正常结果,那我这边是环境的问题导致发布出去的结果又问题么?  在wing里编辑调试是正常的,发布出去就不正常了. 你这个好像是调试, 我调试也是正常的
aknight  炉火纯青 | 2016-8-12 20:43:38
yjtx 发表于 2016-8-12 20:01
我这边看到的是2 不同的类啊,我看代码也刚好是这2个呀

如果同一个项目在你那边可以运行得到正常结果,那我这边是环境的问题导致发布出去的结果又问题么?  在wing里编辑调试是正常的,发布出去就不正常了. 你这个好像是调试, 我调试也是正常的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

返回顶部