分享一个方便使用Action的库

最近写Action快写吐了= =主要是各种:create,而且不带的时候的错误提示也很
模糊(因为一般会写的很长),所以做了这个东西,大家如果喜欢可以用~

直接放到项目下,然后require就可以了,会自动增加一个全局的cca的表,里面
有cocos所有的Action的包装。

比如说要在2秒内把节点移动到10,10:

cca.moveTo(2.0, 10, 10)
    :addTo(node)


```


具体支持的Action的名字可以在代码里面看到。

另外,提供了一个ActionBuilder类,用于构建复合Action。直接构建Action写
起来会比较麻烦,比如说,如果希望在2秒内将节点旋转180度,等待1秒然后调
用一个函数,如果直接用quick需要这么写:

node.runAction(cc.Sequence:create(
    cc.RotateTo:create(2, 180),
    cc.DelayTime:create(1),
    cc.CallFunc:create(function() print "here" end)))


```


使用cca,可以变得简单一点:

node.runAction(cca.seq {
    cca.rotateTo(2, 180),
    cca.delay(1),
    cca.cb(function() print "here" end),
})


```


如果用builder,可以更简单一点:

cca.builder()
    :rotateTo(2, 180)
    :delay(1)
    :cb(function() print "here" end)
    :addTo(node)


```


builder支持"seq", "spawn", "loop", "reverse", "speed", "rep",
"targeted" 等各种不同的组合方式,也支持嵌套Action,比如这样:

cca.builder "spawn"
    :begin "seq"
    :   rotateTo(2, 180)
    :   delay(1)
    :   cb(function() print "here" end)
    :done()
    :begin("rep", 3) -- 重复三次
    :   moveBy(1, 10, 10)
    :   blink(2, 3)
    :done("in", 0.25)
    :addTo(node)


```


可以用begin/done做嵌套,done里面可以为整个块提供ease。当然ease也是普通
的cca函数,可以自行独自使用。

这个模块的代码放到了pastebin上,感兴趣的可以自行下载:http://pastebin.ca/2871628

另外,这个可以合并到quick-x里面去吗?

排一楼先赞个

谢谢楼主分享。。。。。。。。。。。

不错,赞一个

是不是跟quick里的shortcodes一个意思?

赞!楼主可以给quick递交一个PR给我们合并,以后大家查询quick的历史递交记录就能看到楼主的贡献了。这样比我们直接加文件要好吧,呵呵。

好的~我去做一个PR先~

hi阳光 :)

对现在github上面的版本我有点不太清楚。现在是在github.com/chukong/quick-cocos2d-x有一个库,然后github.com/dualface/v3quick有一个库。其中v3quick现在有好多个分支,如果要提交的话我应该先fork哪个库的哪个分支呢?谢谢!

顶一个!!

v3quick虽然是主分支,但现在主要是在维护3.2版本;最新的v3.3在v3分支上,你可以递交到这个分支上来。

好的,已经提交PR了~