@dumganhar 可以看下这个build-templates问题 还有低版本升级3.8.5 会报错和自定义引擎后的一些问题
感谢反馈,我们正在排查此问题中,有进展会同步。
构建没有勾选 md5Cache,遇到了这个报错
[Assets] ENOENT:no such file or directory,open 'D:\XXX\build\wechatgame\remote\rawChar\config.undetined.json'
[Assets] ENOENT:no such file or directory,open 'D:\XXX\build\wechatgame\remote\raw\config.undefined.json'
那可能是其他构建缓存的异常情况,项目是从 3.8.2 升级上来的,如果不能复现的话,看看是否考虑做下容错呢
你 382 是有勾选 md5 吗?我们试一下从 382 新建一个构建任务,然后升级到 385 测试一下
看起来升级前没有任何构建任务,
升级到 3.8.5 后新建的微信构建任务,并且没有勾选 md5Cache
排查了一下,应该是第三方的扩展插件报错了,忽略这个问题 
你好,请问鸿蒙next文档好久出 会出热更新教程嘛
上demo看看吧
编辑器里SpriteAtlas把auto_atlas拖进去存不下来,刷新一下SpriteAtlas那里就空了,之前有图集的Sprite也都空了,3.8.5才出现的
大佬麻烦帮忙看看瓦片地图缩小有明显黑边是我操作不对造成的吗
我看看哈 
我用最新版本的 微信 开发者工具 Stable 1.06.2412040 也出现了错乱的问题。
但是用旧版本的 微信 开发者工具 Stable 1.06.2301160 是正常的。你看是否切换到旧版本验证一下。
初步估计是微信工具升级修改了什么东西导致的。
开发编辑器扩展
我自己写了一个esm的npm包,在项目中使用,项目可以向npm包中注册一些信息,并且有接口可以获取这些信息。
并且通过 操作当前场景 | Cocos Creator 这个文档中的方式,在引擎插件中实现了 scene.ts 文件
我应该怎么在scene.ts这个文件中获取项目注册到npm包中的这些信息呢?
… 是异步加载时序的问题,你异步代码 load 资源的时候,依赖了回调的顺序啦。
资源的异步回调是不确定的,有的资源回调快有的会慢,有的会先回调,后的会后回调,不依赖你 load 的时序。
给你稍微调整了一下代码。保证顺序即可。
import { _decorator, Component, instantiate, Node, Prefab, resources, Sprite, SpriteFrame } from 'cc';
import mapInfo from './Map1';
const { ccclass, property } = _decorator;
@ccclass('MapManager')
export class MapManager extends Component {
@property(Prefab) prefabBlock:Prefab;
@property(Prefab) prefabRigid:Prefab;
private _loadedMapBlock: Node[][] = [];
private _loadedCount = 0;
private _totoalCount = 0;
start() {
this._loadedMapBlock.length = mapInfo.length;
mapInfo.forEach((item,index) => { //根据json生成瓦片地图,每一个元素为地图每一列
const column = this._loadedMapBlock[index] = [];
mapInfo[index].forEach((data,index) => {
++this._totoalCount;
resources.load(data.src, SpriteFrame, (err, spriteFrame)=> {
++this._loadedCount;
if(err) {
console.log(err);
}
let node: Node;
if(data.type == 'way') {
let te = instantiate(this.prefabBlock)
te.getComponent(Sprite).spriteFrame = spriteFrame
node = te;
// this.node.addChild(te);
}else {
let rigid = instantiate(this.prefabRigid)
rigid.getComponent(Sprite).spriteFrame = spriteFrame
node = rigid;
// this.node.addChild(rigid);
}
column[index] = node;
if (this._loadedCount == this._totoalCount) {
this.onAllBlockLoaded();
}
})
})
})
}
private onAllBlockLoaded() {
this._loadedMapBlock.forEach((column, x) => {
column.forEach((node, y) => {
this.node.addChild(node);
})
})
}
update(deltaTime: number) {
}
}




