Cocos Creator 3.0.1 体验贴

image
想问下这个压缩纹理的这个PNG,后面的参数是什么作用的?
我现在不管怎么调,打包出来的结果是一样的

原图:


压缩打包后:

压缩配置:
image

是用来压缩纹理的,可以看出来纹理大小发生了变化

你看看我后面发的那个图,我从1-100随便输入,打包后,图片大小是一样的,而且还比原图大

关键就是不太好复现。 刚看了一下 settings.js 中每个包对应的版本号,看起来跟bundle里面的config.json是一致的。所以按你的说法,应该不会去加载远程资源才对,但是后台日志反馈,每个loadbundle都花了好几秒的时间,这又是为啥呢?
是不是微信或者引擎 判断资源是否可用还加了其它判断逻辑,比如时间之类的?

另外麻烦问下,preload 一个bundle,是否只是将资源下载到本地?还是也会将资源载入内存中?

然后laodbundle 下载一个bundle,bundle为zip的时候,loadbundle的completeCb是仅仅加载config.json的回调 还是 加载了整个 zip包的回调?

谢谢!

我选了一下jpg,后面的参数1-100之间填选,就很正常,图片打包后压缩率是不一样的,是不是PNG的参数读取有问题?


之前有发过这个问题,我是想看看这个纹理压缩能不能替代掉我们之前打包后再用工具来压缩

有没有人,这是咋回事,运行时这个layout不在屏幕内

是不是微信或者引擎 判断资源是否可用还加了其它判断逻辑,比如时间之类的?

目前是没有的,判断的时候非常简单,就看列表中有没有记录。需要看下服务器上有没有收到网络请求。之前有人反馈过相同问题

另外麻烦问下,preload 一个bundle,是否只是将资源下载到本地?还是也会将资源载入内存中?

内存中应该会有一部分数据,所有的图片,模型什么的都没有加载进内存

然后laodbundle 下载一个bundle,bundle为zip的时候,loadbundle的completeCb是仅仅加载config.json的回调 还是 加载了整个 zip包的回调?

如果是 zip 模式的话,会等到 zip 加载完成才回调

这个我们之后优化下,现在这个工具确实不好用

谢谢回复。

之前有人反馈相同问题,请问下你们有具体去查过这块的问题么?
我们线上资源放在cdn服务器上,听运维说如果不知道玩家的具体ip,不太好去查是否拉取了资源。

只是从目前的表现以及 日志反馈上来看,定位到bundle加载时间过长

终于找到原因了

// 节点树结构
scene
|--2d(空节点,什么组件都没有)
    |--back(canvas节点)
    |--front(canvas节点)

canvas上的widget组件会变成这样,无法修改,应该是按父节点size是(0,0)计算的
(设计分辨率:750*1334)
image

widget-manager里面是这样计算的

···
target = node.parent!;
···
const targetSize = getReadonlyNodeSize(target);//这是返回的大小是(0,0)
const useGlobal = target instanceof Scene || !target.getComponent(UITransform);// 这里是true
···
// 后面的计算会根据isRoot来判断怎么计算值
const isRoot = !EDITOR && useGlobal;
···
const targetWidth = targetSize.width;
if (isRoot) {
    localLeft = visibleRect.left.x;
    localRight = visibleRect.right.x;
} else {
    localLeft = -targetAnchor.x * targetWidth;
    localRight = localLeft + targetWidth;
}

结论是:大概的意思就是父节点没有UITransform组件,编辑器里面是按targetSize算的,运行时是按visibleRect算的

应该算是引擎的一个BUG

@EndEvil

3.0是不是不支持facebook小游戏平台了啊?

通过 npm install --save axios 引入 axios。编辑器里可以通过,不过到场景里就报错,无法跑起来,我尝试了 2.44 版本是没有这个问题的,不过 3.0 开始就有这个问题。今天尝试升级 3.0.1问题依旧存在。类似的库 3.0 可以通过什么方法来引入使用?


不知道,动不动就报错,自己感觉是因为往场景里边放了一个带有骨骼动画的模型导致的

首次尝试用3.0编写游戏,发布后运行报错,如图:

运行预览正常,发布后就报错,并且深灰色背景什么都没有。

3.0可以试试flyio, 将 package.json 中的 “main”: “node-index.js” 修改成 “main”: “index.js” 就可以了其他平台没测过,不过web和native上是没问题的

1赞

谢谢,一会我试试

感谢反馈,确实存在 bug,我们已进行修复,可参考此PR fix widget align bug when isRoot

webmobile端,插屏前的那几秒黑屏有什么解决方案?
另外插屏出现后没有立即开始加载,而是等插屏消失后开始加载,这个问题解决了吗?

如图: 我用加载中的图片作为插屏,但插屏前面还是会黑一下(本地), 放到服务器上并且首次加载,这个现象更严重,黑屏至少3秒(服务器带宽百兆). 另外注意看动图中网络面板的加载时机,插屏显示时,并没有去加载所有资源, 而是在插屏即将消失时才开始加载,不知道把时间用去干嘛了
GIF

前面的这些步骤对开发者而言, 是不可控的, 现在只能考虑用html覆盖层来做loading, 然后游戏里场景加载完毕后,再通知出来隐藏html的loading了

我试了下,npm install --save flyio

也就该了 package.json

使用的 时候,import fly from ‘flyio’;
还是报很多错,你是怎么导入的?