如何对一个CCArmature用代码添加帧事件回调
已经自行解决,
(目前我项目用的动画方式是Flash制作(一定规格,具体见 http://zengrong.net/post/1915.htm大神的博客)然后通过这个大神修改的DragonBones插件导出.plist,xml,png 调用CCArmature进行播放。
然后问题来了,插件不支持事件。
经过查看底层源码,可在xml中animations标签下的一个标签添加evt=""。进行添加事件(可看上传的图片)
(楼主本打算对dragonBones源码进行修改使可以在动作编辑的时候直接添加事件标签不用导出后手动修改,但目前项目比较紧留待以后有空再动手。)
添加事件后直接在代码内调用CCArmatureAnimation::setFrameEventCallFunc进行帧事件回调注册。
之后判断传入的帧事件名称即可达到预想效果。
(目前我项目用的动画方式是Flash制作(一定规格,具体见 http://zengrong.net/post/1915.htm大神的博客)然后通过这个大神修改的DragonBones插件导出.plist,xml,png 调用CCArmature进行播放。
然后问题来了,插件不支持事件。
经过查看底层源码,可在xml中animations标签下的一个标签添加evt=""。进行添加事件(可看上传的图片)
(楼主本打算对dragonBones源码进行修改使可以在动作编辑的时候直接添加事件标签不用导出后手动修改,但目前项目比较紧留待以后有空再动手。)
添加事件后直接在代码内调用CCArmatureAnimation::setFrameEventCallFunc进行帧事件回调注册。
之后判断传入的帧事件名称即可达到预想效果。
图片:QQ图片20140104212658.jpg
http://www.cocoachina.com/bbs/read.php?tid=177957
![](http://www.cocoachina.com/bbs/attachment/Fid_41/41_242419_929418a36e5e2ba.jpg)