预制件无法拖放组件-已解决

  • Creator 版本:2.4.6

  • 目标平台:安卓 网页

  • 重现方式:

  • 首个报错:
    TypeError: Cannot read property ‘length’ of undefined
    at e (D:\programs\CocosDashboard\resources.editors\Creator\2.4.6\resources\app.asar\editor\builtin\scene\panel\tools\select\utils.ccc:1:95)
    at Object.deepQueryChildren (D:\programs\CocosDashboard\resources.editors\Creator\2.4.6\resources\app.asar\editor\builtin\scene\panel\tools\select\utils.ccc:1:138)
    at Object.getIntersectionList (D:\programs\CocosDashboard\resources.editors\Creator\2.4.6\resources\app.asar\editor\builtin\scene\panel\tools\select\2d.ccc:1:748)
    at Object.hitTest (D:\programs\CocosDashboard\resources.editors\Creator\2.4.6\resources\app.asar\editor\builtin\scene\panel\tools\select\2d.ccc:1:1400)
    at Object.onMouseMove (D:\programs\CocosDashboard\resources.editors\Creator\2.4.6\resources\app.asar\editor\builtin\scene\panel\tools\select\2d.ccc:1:3057)
    at Object.onMouseMove (D:\programs\CocosDashboard\resources.editors\Creator\2.4.6\resources\app.asar\editor\builtin\scene\panel\tools\select\index.ccc:1:230)
    at HTMLElement.onMouseMove (D:\programs\CocosDashboard\resources.editors\Creator\2.4.6\resources\app.asar\editor\builtin\scene\panel\scene-view.ccc:1:6175)

  • 之前哪个版本是正常的: win7

  • 手机型号:

  • 手机浏览器:

  • 编辑器操作系统: win10 22H2

  • 重现概率:100%

cocos creator2.4.6+ts开发
一个游戏的大区列表界面的一个大区预制件及代码,源码在win7条件下正常,上传代码到gitee,
换到win10条件下,使用2.4.6 打开,仅在编辑器界面,使用鼠标滚轮缩放一下预制件,log面板就会报上述错误。
删掉libary temp local setting文件夹重进项目也无法解决。
具体还会表现为这个预制件上的脚本无法拖放并挂载组件或者删掉组件
而如果把整个脚本在编辑器面板上删掉就会报错:
cc.Scheduler: Illegal target which doesn’t have uuid or instanceId.
at Object.errorID (D:\programs\CocosDashboard\resources.editors\Creator\2.4.6\resources\engine\bin.cache\dev\cocos2d\core\CCDebug.js:257:6)
at Object.unscheduleUpdate (D:\programs\CocosDashboard\resources.editors\Creator\2.4.6\resources\engine\bin.cache\dev\cocos2d\core\CCScheduler.js:762:12)
at Object.unscheduleAllForTarget (D:\programs\CocosDashboard\resources.editors\Creator\2.4.6\resources\engine\bin.cache\dev\cocos2d\core\CCScheduler.js:826:10)
at NewClass.unscheduleAllCallbacks (D:\programs\CocosDashboard\resources.editors\Creator\2.4.6\resources\engine\bin.cache\dev\cocos2d\core\components\CCComponent.js:618:32)
at NewClass._onPreDestroy (D:\programs\CocosDashboard\resources.editors\Creator\2.4.6\resources\engine\bin.cache\dev\cocos2d\core\components\CCComponent.js:513:10)
at NewClass._destroyImmediate (D:\programs\CocosDashboard\resources.editors\Creator\2.4.6\resources\engine\bin.cache\dev\cocos2d\core\platform\CCObject.js:517:10)
at Immediate.deferredDestroy [as _onImmediate] (D:\programs\CocosDashboard\resources.editors\Creator\2.4.6\resources\engine\bin.cache\dev\cocos2d\core\platform\CCObject.js:202:11)
at processImmediate (internal/timers.js:456:21)

我重新制作一个相应的预制件,换名字了,依然会百分百出现这种问题
有时候即使没有马上就报错,也会在几分钟后报错的。

在ts脚本里面
private _id:number = 0;
_id这个属性值是存在于内部的,不能被占用,否则就会报上述错误。