Cocos Creator v2.4.3-rc.7 测试帖(正式版已发)

粒子系统,
StartColorVar
EndColorVar
不生效

2.4.0 , 2.4.3-rc1

1.9.3 效果

测试工程
Particle.zip (746.7 KB)

prefab无法保存 里面什么都没有 只新建了一个精灵 就提示 找不到节点 Sprite 对应的预制资源。你可以通过点击菜单“节点 > 关联节点到预制”来还原节点。 保存无效

我这边测试是正常的,麻烦给出比较详细的重现步骤,谢谢!

有同事会确认下,感谢

说到粒子系统, 我希望粒子增加一个(可选)中间状态, 出生->中年(可选)->死亡,三个状态平分整个生命周期.
这样可以做出 alpha(0)->alpha(1)->alpha(0) 等渐变效果.

这个是因为 1.9.3 版本强制把 BlendSrc 设置为 SRC_ALPHA 了,所以你编辑器里面设置的 ONE 是无效的,2.x 版本已经修正了,2.4.x 版本如果需要相同的混合效果,得把 BlendSrc 修改为 SRC_ALPHA。

1赞

这个3d粒子应该挺好实现的

我这边已经根据官方的粒子系统已经重构一个更具扩展性的.只是希望官方实现一个.

XMLHttpRequest 这个在微信小游戏上,能把timeout参数加上吗?现在设置 timeout,是没效果的,看了一下代码:
send(data = ‘’) {
if (this.readyState !== XMLHttpRequest.OPENED) {
throw new Error(“Failed to execute ‘send’ on ‘XMLHttpRequest’: The object’s state must be OPENED.”)
} else {
let myRequestTask = wx.request({
data,
url: _url.get(this),
method: _method.get(this),
header: _requestHeader.get(this),
dataType: ‘other’,…
里面并没有给request的参数加上timeout

当调用后,cc.director.pause(), widget layout没有正常更新。

bundle的load和preload能否加上options可以传,例如我在远端的一个bundle里有大厅和战斗的部分资源,进大厅我会去preload大厅的远端资源,然后进战斗的时候进行preload战斗的远端资源,我希望战斗的远端资源在preload的时候,优先级能调高,优先从远端下载下来。看源码,bundle的preload里调用Asset Manager的preload是传了一个默认的options过去的。

感谢反馈,可以暂时先在 game.json 里配置。我们后续补上

要不你直接用 cc.assetManager.preloadAny ? 我们不想在 preload 这个比较简单的方法里面再增加参数了,现在已经有四个参数,其他开发者看到这个参数可能会懵

我们会在3.0优化下

@EndEvil 请问有本地zip bundle功能吗?以前我再Laya上撸过zip包,可以把20M的发布目录(大量json)压倒4M内。

如果用zip就要用到远程,就有点变态了。明明可以不加服务器的。

最新版本使用自定义字体的时候,Cache Mode 选择为char的时候,动态改变(运行时改变)label的内容,label的结点width不会变化、选择为none的时候没有问题。

@EndEvil 2.4.3-rc.1 以及2.4.2,使用ttf字体,label的overflow设为RESIZE_HEIGHT时,label所在节点的高度没有刷新,看了下源码,没有对_layoutInfo->height重新赋值,希望引擎组解决下。

这个问题,应该不是bug吧,应该是引擎组对label的性能优化吧。我是手动调用label 的 _forceUpdateRenderData 方法解决的

label所在节点高度的刷新是在下一帧,这个没问题,我说的是延迟或者调用_forceUpdateRenderData后获取节点高度。网页预览没有这个问题,iOS真机上,使用系统字体也没有问题,只有在iOS上使用ttf字体,且label的使用RESIZE_HEIGHT模式下,节点高度等于行高,这个应该是因为原生上对ttf渲染的优化造成的。

一开始时是考虑本地zip的,但是这个功能在部分平台支持得不好,所以就放弃了,另外我不太清楚小游戏对于包体是怎么计算的,理论上他们也会默认压缩一次,应该使用压缩后的大小来计算才比较合理,所以本地放压缩包应该效果不大才对。不过这里你可以把压缩包放本地,然后运行时用 unzip 解压到缓存目录,然后用 cc.assetBundle.loadBundle 加载缓存目录的地址就行,也能正常加载