【技术分享】2D MMO中角色动画的优化总结

pb 谷歌官方有js的库。

话说序列帧动画,如何实现换装?

学到很多,感谢大大分享~

protobuf算上解析绝对不比json快,而且本身解析库就占用包大小,还加强复杂度。

抠图+叠图

做大型Native游戏的团队,这篇文章比较有用
另外Natvie游戏对性能那么敏感,数据为什么不考虑做成二进制的呢

因要尽量保持web与native一致,将来可能会同步上web版。
Js在解析二进制方面是比较弱的,所以统一用json。
另一个是json的加载和解析并不是热点

当初在cocostudio中就有类似问题
但不了解你们的profile
这种决策问题还是项目自行判断比较好

我用这个函数创建出来的动画剪辑,播放没有效果,为什么呢?

我有个问题请教下,我用一下代码创建的动画剪辑,为什么播放没有效果?
//spriteFrames是我的SpriteFrame数组
var clip = cc.AnimationClip.createWithSpriteFrames(spriteFrames, this.animFrameCount);
clip.name = animName;
clip.wrapMode = cc.WrapMode.Loop;
this._anim.addClip(clip);
this._anim.play(animName);

其实我很想回句不要用creator做ARPG,不过我相信不久的将来是可以用来做ARPG的。

不是ARPG,是MMO。这里面差别很大的。

我觉得没啥问题啊。

clip = cc.AnimationClip.createWithSpriteFrames(spriteFrames, 1/frame_time);

frame_time就是每帧的时间
anim.addClip(clip, name);

let animationClip = cc.AnimationClip.createWithSpriteFrames(spriteFrameList,animaData[‘sample’]);
animationClip._duration = animaData[‘duration’];
animationClip.speed = animaData[‘speed’];
animationClip.wrapMode = animaData[‘wrapMode’];
animationClip.events = animaData[‘events’];

this._anim.addClip(animationClip , animName);

我是这样用的

发现我在做的就是你 最初的实现方案.
还好看到你的文章

这个大致是如何实现的, 能描述下吗?

之前说错了,原生平台上,这个功能要在 1.5.1 才会引入

1赞

多谢分享。请问可以分享压缩以及转换图片格式的流程细节吗?

这个比较干货,讲的都比较实在的东西,基本上再把UI文本创建开销优化涵盖进去就把主要的优化点覆盖差不多了,剩下的就是逻辑代码的优化了。

你好 我也这样试了下,发现texturepacker导出时不勾选rotate spriteFrame设置texture正常 勾选后截取的会有偏差 不知道楼主有没有遇到过这个问题 如何解决的

是高宽取反了

多谢 果然。 这算引擎bug么 @panda