jsb脚本出错位置不明确

运行可以,但是控制台报了错误信息,信息如下:
Simulator : 1566:mutating the [[Prototype]] of an object will cause your code to run very slowly; instead create the object with the correct initial [[Prototype]] value using Object.create
at a (D:\prog\blm\creator\library\bundle.project.js?009:NaN:0)

不知道怎么回事。

这里吐槽下,貌似除了语法问题外,绝大部分错误都是这种定位到bundle.project.js的错误信息,这要我们怎么知道问题出在哪里。

这个问题很常见也是个不小的问题,为什么开发团队都没人管呢?

大部分情况下,你用浏览器调试应该就可以定位到出问题的具体语句了,也可以把你项目贴上来我帮你看看是哪里的问题:grin:

谢谢,我试试,可能是我用的模拟器调试的原因。

很诡异,我用浏览器打开,同样报错,而且本来在模拟器里能显示的一排sprite也不见了。
然后我就把目录拷贝出来放到另一个目录中试试,模拟器又不报那个错误,用浏览器也不报错,但是那排sprite也不见了。就是说浏览器跟模拟器的表现不一样。整个人都乱了。

可以弄个简单的重现项目给我帮你看看吗?

还是麻烦你帮我看下,实在是搞不定,用模拟器运行是好的,下面会出现一排麻将子的SPRITE,用浏览器运行就没有那一排,而且没有任何报错。

creator.rar (1.3 MB)

问题找到了,在你的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的目录,不好删,我自己再试试先。

嗯,如果不是太底层的东西,我想我也可以帮你看看:grin:

问题是你那没法重现,我发给你的就是原样的目录,都没有报错,刚刚把几个没用的目录删了,再开CREATOR重建也是一样报错。只能自己想办法了,看看覆盖回去可以不。

你现在是啥错误呢?

你好这个错误应该是你用 ES6 的方式定义了 class,并且继承自了引擎用 CCClass 定义的类。如果是这个原因,目前报错的行号确实没办法解析出来,这是一个底层问题我们会放到后期再来解决。

如果是其它报错,我们都会显示出源文件中的行号,一般不会出现bundle.project.js的错误信息

刚刚删除了SVN里的目录,用备份的目录覆盖过去,又没有这个错了,呵呵,真是怪得很。
另外,我用了ES6的class定义方式,但是没有继承自ccclass,都是直接用的class,然后自己继承下去。

麻烦那你也帮我看下好吗?
creator.rar (1.1 MB)

回家试了还是有问题,而且试出了是\assets\script\lib\wsclient.js这个文件的问题,删了就不会报错,不删就会报错,麻烦你帮我看看好吗?
源码在上楼,谢谢了。

额,我根本没看过es6长啥样,所以也帮不了你,不好意思:joy:

你那里也会报这个错误吗?