Editor.Scene.callSceneScript

使用官方的例子
Editor.Scene.callSceneScript(‘foobar’, ‘get-canvas-children’, function (err, length) {
console.log(get-canvas-children callback : length - ${length});
});
调用下面的js脚本为什么不能调到

module.exports = {
    'get-canvas-children': function (event) {
        var canvas = cc.find('Canvas');
        Editor.log('children length : ' + canvas.children.length);

        if (event.reply) {
            event.reply(null, canvas.children.length);
        }
    }
};

package.json 里面有定义吗?

例如:

这个我设置了,不管用的

那你给我一下插件吧,我这边测试看看?

就是用的官方的i18n多国语言Editor.Scene.callSceneScript(‘i18n’, ‘update-default-language’, name, function (err, result) {});
发现这个没有调用update-default-language,后来就在这个扩展包里写了一个demo,就是根据官方的教程写的,发现也没有调用

scene-script: “utils/scene.js” 这个存放文件结构截图给我看看,应该是用法出现了问题,我这边是正常的

这个都是按照官方的目录放的,没有修改,需要放在i18n根目录吗?

要不这样吧,你提取一下插件,就留着用 callSceneScript 的代码,我这边测试一下?
顺带问一下你是用什么版本 2.3.3 ?

用的2.3.2,我提取一下,稍后给你

i18n.zip (18.9 KB)

好的一会给你答复

我这边是正常的

那就奇怪了,我用官方写的例子都不能调用到,这是我启动插件显示的日志

你这个不是有回调吗?只是你回调的数据有问题吧

我这个有日志输出,但是没有打印这句

这个是主渲染线程调用的,你选中场景面板,然后打开开发者工具,就能看到了

:joy: 可以了,我一直以为是主动调用的,不好意思,耽误你这么长时间

没事,记得总结一下然后设置为已解决,感谢

好的,多谢