发现一个比较好用的动画制作工具 spine

前段时间,偶然看到它的视频演示,觉得挺牛X的,后来得知其支持了 cocos2d-x,甚为欣喜(现阶段靠 c2dx吃饭),于是细细把玩,终于完全掌握。

官方地址是 http://esotericsoftware.com/

其功能很简单,主要是用来做骨骼动画,具体操作无非是 指定根节点中添加骨骼,绑定 slot 以及图片,关键帧中锁定有变更的数值形成动画。

在 cocos2d-x 里的使用也挺简单的,当前的版本 2.1.3 已初步支持 spine ,内置了对其动画的支持。

不过呢,要实际用起来,还要做一些处理:去官网 sdk  github 地址下载  zip 包,再把 c2dx / extensions 里的 spine 删光,最后把官方的 C 和 c2dx cpp 两部分代码复制进去。

经过简单的 tolua 编写,可将这些代码封装到我们的游戏 hosts 里面,最终像是这样子使用:

 

    for a = 1, 100 do
        local sa = CCSkeletonAnimation:createWithFile( "2.json", "2.atlas" )
        sa:setAnimation( "flying", true )
        --sa.timeScale = math.random()
        --sa.debugBones = false
        sa:setPosition( math.random( 1, 1024 ), math.random( 1,768 ) )
        sa:setScale( math.random( 0.5, 1.5 ) )
        layer:addChild( sa )
    end

这里的 2.* 文件,来自于 spine 那条大肥龙 example
这段代码的作用很简单,在 layer 上随机画 100 只大小各异,飞动的肥龙。

理论上讲,如果要重复创建相同物件,上述代码是可以继续改良的,比如先把 2.* 预加载,再使用 createWithData 重载来绘制。

btw: *.atlas 文件,尸块打包.png, 需要下载 TexturePacker 工具并选择 libGDX 生成配置来得到。

posted @ 2013-05-31 15:04  denghe  阅读(2297)  评论(0)    收藏  举报