cocos2d-js动作的连续

来源:互联网 发布:有淘宝卖家手机版本 编辑:程序博客网 时间:2024/05/18 03:31

在上一节中我们介绍了一基本的动作,但是仅仅做这些简单的动作似乎并不能满足我们在一些复杂的动作的要求,于是,我们想能否有一些函数能够让都做连续起来,比如说我像让某一个精灵执行了这个动作之后,紧接着去执行另外的一个动作,也就是我们想让其按照顺序执行,或者说我希望这个动作不断的重复,或者说,我像让这个动作执行之后,恢复到原来的状态,实现这样的功能的函数有没有,当然也是有的,现在我们来看看在cocos2d中为我们提供的这类的一些函数。

首先第一个是顺序执行,也就是执行了这个动作之后去执行另外的一个动作,比如有:

var action1=cc.scaleTo(1,2,2);;

var action2=cc.moveTo(2,cc.p(100,100));

现在我希望做的事情是当精灵变成为原来的2倍大之后,然后在两秒之内移动到cc.p(100,100)这个函数,我们可以创建一个变量:sequence来存放这两个action,我们可以这样:

 var sequence=cc.sequence(action1,action2);

ball.runAction(sequence);

这样执行了action1之后,紧接着就开始执行action2,就是sequence这个函数的用途,让动作顺序的执行。

对于队列的定义我们的参数不仅仅可以使用动作,而且还可以使用对队列

var sequence1=cc.sequence(sequence,action1);

哈哈,上面我们定义让动作按照某一个顺序执行,现在我们能不能让某一个精灵去不断的重复的执行某一个动作,当是有这样的函数。

cc.repeat(action,times)

这个函数的功能是重复某一个动作若干次,而且动作也有这个属性,也就是我们也可以这样

action.repeat(5);

就是让action重复执行5次

有的读者可能对于这样的一个重复执行获取会有一些疑问,如果我像让游戏过程中,某一个精灵不断的执行,比如说后面的树不断的摇曳,我是不是要设置一个很大的数字,当然不是,我们还有另一个repeatforever这个函数,这个函数的功能是让某一个动作不断的重复,一直到天荒地老。

var repeatforever=cc.repeatForver(action/sequence);

嗨嗨,难道就这些函数吗,当然不是,我们还有函数可以让多个动作重复的执行,比如说我像让某一个精灵同时执行多个动作,我们可以使用spawn这个函数

cc.spawn(action1,action2,.......)

就这样让某一个精灵同时执行动作action1,和action2等等了

还有一个函数reverse这个函数我们看他的意思就是了,反向的,也就是说我们可以执行这个动作逆向的,如果说函数action是让小球变成原来的2倍,那么var action2=action.reverse(),action2就是将小球变成为原来的1/2倍,哦,应该好理解吧,好了今天就先看这些吧,晚安 。




0 0