Animator使用示例

承接上一篇开源可视化有限状态机编辑器

本示例以egret的dragonBones应用为例

仓库地址:https://github.com/wonderyue/AnimatorDemo.git


 

首先导出egret格式的骨骼动画


 

然后将skeleton.json文件丢入Animator中,(跟open是一个效果,两种方式任君选用),刚丢进去时应该是这样事儿的


 

稍微编辑一下


然后点击save,保存下来,放到工程资源目录下。

代码部分参考demo即可,非常简单,不过300行。只对个别部分做一些探讨:

1.文件名有严格的要求,要导入的骨骼文件必须以"skeleton.json"结尾,保存的输出文件必须以"fsm.json"结尾。这部分在编辑器的源码中可以看到,因为扩展名都是json,所以暂时对文件名有了比较严格的要求。

2.关于业务逻辑的一些建议。涉及到具体业务逻辑,如动作游戏的动画切换,可能会涉及到以下问题。第一种是立即切换,如anyState跳转到die,我们一般希望立即跳转。第二种是有限窗口内跳转,比如三连击时,我们不希望玩家点击三次攻击动画一瞬间播放到了第三击而前两击几乎看不到。为了兼顾上面两种情况,我们可以在跳转前加一个判断,条件可能是当前动画名称,下一个动画名称,是否循环播放以及cutTime/totalTime等几个条件的逻辑组合。

 

posted on 2015-04-20 11:55  wonderday  阅读(1404)  评论(0编辑  收藏  举报

导航