可以弄个简单的重现项目给我帮你看看吗?
问题找到了,在你的mahjong.js文件里的start函数里

你使用了cc.director.getScheduler().schedule,我去查看了api,这个计时器一共有六个参数,分别是function, target, interval, repeat, delay, paused,但是你的参数列表少了一个delay,加上就没问题了

但是为啥在模拟器下是正常的,我猜可能是native下的实现和web的实现有差别
晕死,这错误我还真不知道该怎么查,关键是creator这种问题应该要能报错出来。
多谢你了。
其实查问题很简单的,哪里出错查哪里,就像你的项目,我一行代码都看不懂(我英语从来没有及格过),但是你出问题的地方就是你显示的地方,所以只要检查你显示的逻辑,问题很快就查出来了,如果不好查的,一步一步打log或者下断点查,而且大部分情况下浏览器的控制台会定位错误的具体位置,你这个错误比较特殊,native下是正常的,web端不正常,所以无法找到错误的具体位置
creator里我都只能打Log,不太会用浏览器调试,这个错误就完全不知道怎么回事了。
主题里的头个错误还没解决,我自己再看看,因为我把整个目录拷贝出来再用creator运行就没有错误了,回到老目录还是错误。而老目录是SVN的目录,不好删,我自己再试试先。
嗯,如果不是太底层的东西,我想我也可以帮你看看
问题是你那没法重现,我发给你的就是原样的目录,都没有报错,刚刚把几个没用的目录删了,再开CREATOR重建也是一样报错。只能自己想办法了,看看覆盖回去可以不。
你现在是啥错误呢?
你好这个错误应该是你用 ES6 的方式定义了 class,并且继承自了引擎用 CCClass 定义的类。如果是这个原因,目前报错的行号确实没办法解析出来,这是一个底层问题我们会放到后期再来解决。
如果是其它报错,我们都会显示出源文件中的行号,一般不会出现bundle.project.js的错误信息
刚刚删除了SVN里的目录,用备份的目录覆盖过去,又没有这个错了,呵呵,真是怪得很。
另外,我用了ES6的class定义方式,但是没有继承自ccclass,都是直接用的class,然后自己继承下去。
回家试了还是有问题,而且试出了是\assets\script\lib\wsclient.js这个文件的问题,删了就不会报错,不删就会报错,麻烦你帮我看看好吗?
源码在上楼,谢谢了。
额,我根本没看过es6长啥样,所以也帮不了你,不好意思
你那里也会报这个错误吗?
会,但是es6我一点都不了解
所以无法帮到你
哈罗,经过验证,只要 ES6 有继承,模拟器就会有这个报错!看来 Babel 的实现还是不够优化啊!建议你通过
function base {
}
function sub {
}
cc.js.extend(sub, base);
的方式实现 JS 的原生继承,或者直接使用 CCClass 实现继承。至于报错信息,我们会继续完善!
我现在是服务端和客户端都共享同一个文件,所以不太想改成以上的继承模式,所以问两个问题:
1.出错信息里所说的性能会很差(用这种模式),是不是真的。
2.以后会不会修复这个问题。
因为如果只是暂时的,那我可以无视这个信息,如果无法修复,那我就只能把服务端和客户端的代码都改成没有语法糖的方式了。
要我用cc.js.extend的话不太现实,毕竟服务端没有cc。
能给个确定的信息吗?我这边好改程序.
这是 SpiderMonkey 给的提示,你可以测试下,具体我也不太清楚,V8 和 Chrome 应该没这个问题。
这是 Babel 引起的,要看之后它的版本会不会改进继承的实现方式,不过估计可能性不大
你可以把源码里的那个 extend 方法复制出来单独使用,你也可以用其它任何方法实现继承。JS 的继承写法网上非常多。
