浏览器预览时应该怎样加载文件

图片
如图我有一个base.proto 协议文件,我同时放到项目根目录和 assets目录了,但是就是加载不了, 提示如下图:
图片

对cocos creator 心态开始越来越崩溃了

这个好像是你自己用的不对,proto协议文件你应该编译出js或ts来用怎么编译导出问百度教程一大堆,其次你如果还是要加载proto文件那么你应该自定义资源加载解析方式详情可以看看文档 Cocos Creator 3.8 手册 - 下载与解析

谢谢回复,原本使用pbjs方式是可以的,运行很好的;后来基于其他问题,需要使用proto文件。我想研究下你说到的自定义资源加载解析

proto也是可以的,protobuf内部是基于文件路径规则(fetch)来加载proto,这放在Creator里面当然水土不服(assets下面的资源都会被序列化命名)

  • 建议放resources下面,当成文本形式加载,这样得到一个cc.TextAsset资源
  • 如果你有多个proto,把proto路径当key,proto文件字符串内容当value保存到Map,如protoContentMap
  • 覆盖protobufjs内部的fetch
       let protobuf = require("protobufjs");
        protobuf.Util.fetch = (path, callback) => {

            if (callback && typeof callback != 'function') {

                callback = null;

            }

            // console.log("protobuf.Util.fetch ",path)

            if ( protoContentMap.size < 1) {

                throw new Error(`_protoContentMap is not found!`)

            } else {

                let content = protoContentMap.get(path);

                if (!content) {

                    throw new Error(`${path} is not found!`)

                }

                if (callback) {

                    callback(content);

                } else {

                    return content;

                }

            }

        }


有问题就去看对于的官方文档(资源加载)介绍,比发牢骚管用