【RC2 已更新】Cocos Creator v2.0.1 社区版本发布

2.0之后加的那个RenderComponent功能不能用……准确的说是,不能用来偷懒走捷径,基本只能用默认配置…… Chrome,模拟器,编辑器,这三个得到结果全都不一样
需求:这张图在游戏图要有几十张,变化在于中间的「孔武有力」四个字以及整个的「颜色」。例如,。因为有了RenderComponent的混合模式,所以我就打算用普通的边框和普通的Label,加「滤镜」做。

目前做法:先用单色Sprite的Src[ZERO],Dst[ZERO]切出一块纯空区域,然后普通Sprite画边框,普通Label写字,再用单色Sprite的Src[DST_ALPHA],Dst[ZERO]做滤镜,最后一个单色Sprite的Src[ONE_MINUS_DST_ALPHA],Dst[DST_ALPHA]恢复原先的背景色。

结果:
编辑器: 淡黄色是游戏背景色,符合预期

Chrome: 只有滤镜的颜色,不符合预期

模拟器: 字没了,不符合预期

cocos creator 版本:2.0.1社区版mac -beta.2
chrome版本:Version 68.0.3440.106 (Official Build) (64-bit)
mac版本:mbp 10.13.5

demo地址:https://github.com/bijiaoshenqi/cocos_report1
@panda 如果这种方法行不通的话,我就只能放好几十张图片了……

已修复

这周就会有 2.0.1 正式版本

这是调试控制台的监听 agent 启动失败了,具体原因出在 v8 内部,你试试看选择正确的 abi 和 platform 版本

getTiledTile(x, y, true) 才会主动创建 TiledTile,图块属性指的是什么?

尝试用 bullet 模式的刚体,对于普通的物理模拟速度太快穿透是正常现象

已修复

暂时先做一次 label._updateRenderData(true),然后再获取尺寸把

会在后续版本优化

要释放应该在加载彻底完成后释放,而不是在加载启动之后释放,我不清楚你的代码具体是什么样的所以无法判断

已修复

会在后续版本优化

已经提交上去了,需要等更新到官网
https://github.com/cocos-creator/creator-docs/blob/next/zh/render/camera.md#截图

后续会优化,目前请设置的时候注意一下

收到,我们会考虑下

我们跟 SDKBox 协调一下

已修复,等下一个版本

已修复

已修复

我们目前还没有找到原因和重现设备,不过已经有两三个同样的反馈,会在后续版本修复

最好不要依赖 Blending 做类似的功能,用 shader 会比较好

cc.loader.loadRes(key, sp.SkeletonData, (err, data) => {
if (err) {
cc.error(err);
}
else {
cc.log(“加载完成Spine:” + key);
GlobalRes.SKData[key] = data;
if (callback != null) {
callback(data);
}
}
});
上面是加载
下面是释放 释放是在加载几分钟后进行的!接着再进入战斗中进行加载相同的资源
if (GlobalRes.SKData[key] != null) {
GlobalRes.SKData[key] = null;
let deps = cc.loader.getDependsRecursively(key);
cc.loader.release(deps);
}

下面是释放资源时的提示
released-asset-checker.js:67 “res/import/3e/3eac0b28-adeb-4cd9-b05e-44140ba5e188.json” was released but maybe still referenced by “resources/Commom/Role/1001/chengnv” (type: sp.SkeletonData, uuid: 190b1765-82c9-4cf3-adbd-dc0f6c683e4b)

生成的资源合集文件太大了. 一张图700K. 但是经过压缩可能只到100K. 求cocos 生成合集后能够自动压缩一下所有的png资源.

@andrewlu

可以自己写一个package后做打包处理,tinypng压完的图可以做个缓存

var path = require("path");
var fs = require("fs");
var walk = require("walk");
var tinypng = require("./tinypng");

function onBeforeBuildFinish(options, callback) {
  cc.log("Building " + options.platform + " to " + options.dest); // 你可以在控制台输出点什么
  cc.log(JSON.stringify(options));
  // var mainJsPath = path.join(options.dest, 'main.js'); // 获取发布目录下的 main.js 所在路径
  // var script = fs.readFileSync(mainJsPath, 'utf8'); // 读取构建好的 main.js
  // script += '\n' + 'window.myID = "01234567";'; // 添加一点脚本到
  // fs.writeFileSync(mainJsPath, script); // 保存 main.js
  var walker = walk.walk(options.dest, {
    followLinks: false
  });

  walker.on("file", function(roots, stat, next) {
    let path = roots + "/" + stat.name;
    if (/\.(png|jpg|jpeg)$/i.test(path)) {
      tinypng(path, options.project + "/tinypng-cache", (error, result) => {
        if (!error) {
          fs.writeFileSync(path, result);
        }
        next();
      });
    } else if (/\.(mp3)$/i.test(path)) {
      next();
    } else {
      next();
    }
  });

  walker.on("end", function() {
    callback();
  });
}

module.exports = {
  load() {
    Editor.Builder.on("before-change-files", onBeforeBuildFinish);
  },

  unload() {
    Editor.Builder.removeListener("before-change-files", onBeforeBuildFinish);
  }
};

1赞

这个真的可以解决富文本缺字问题。老大们关注下吧,我看GitHub中没有改,你们正式版本都快发了。是不是这个方法有问题,可以明确说下。

@panda

新版tilemap有相关的文档吗?

我label 使用了艺术数字,设置颜色不起作用请问怎么处理

图片是白色的,我设置成黑色的就不行了,被的都可以

设置成cc.color(0,0,0,255)不行,cc.color(1,1,1,255)就可以,希望官方可以看下

要先把遮罩添加到场景,然后在设置type 设置type 会更新刷新 画刷

@panda

小游戏反复更新后,本地缓存文件超过微信下游戏50M的限制会加载失败,引擎没有自动清理功能或容错机制。
我们自己处理的话基本就只能每次更新清除全部缓存了 。这样用户又要全部重新下载资源。
有什好的处理方法吗

还有类似原来的a.png 升级后改名成b.png,原来的a.png的缓存怎么清除呢

使用Camera截图时,Mask效果错误,截完图的效果显示为反向遮罩的效果

Mac 用 2.0 模拟器跑起来 cpu 使用率 70 , 卸载用稳定版 1.10 模拟器跑起来 cpu 使用率 5

studio 中的 标尺线 creator 有加上的计划么????????? 标尺线这个东西挺好用的

2.0.1 RC2 已更新

SkeletonData 看起来仍然被某个资源引用,可能是 prefab,如果你尝试重新创建 prefab,它在 loader 中仍然存在,就会出现 prefab 实例化成功,但是 skeleton data 资源缺失的问题

感谢 @leowu56 的解答,这个也是目前官方推荐的做法

能不能给一个 demo,可能修复要等到 2.0.2,目前 2.0.1 封版了

参考 TiledTile 文档
升级指南文档也可以看下

不明白你的意思,需要截图和具体设置

可以尝试用 wxDownloader.cleanOldAssets。当前生命周期中使用到的文件都会被保留,其他文件会被删除

2.0.1 RC2 已修复

这个怎么调试c++层的代码???

微信缓存满了能发个事件吗?
因为下载资源失败,我们也不知道是因为网络错误,还是文件写入错误导致的。
也不好一出错就清缓存是吧