10、帧动画

cocos2d使用cc.Animation 与 cc.Animate 这2个类来实现帧动画。

cc.Animation : 设置动画的一系列属性。    主要用于设置动画的序列帧、播放速度等。

cc.Animate    : cc.Animate是一个动作类,主要用于开始播放动画。


例子1(使用一张一张的图片实现帧动画) 


//1、创建动画的第一帧
var xm = new cc.Sprite('res/d01.png');
xm.x = 400;
xm.y = 640;
this.addChild(xm);

//2、创建cc.Animation对象
var animation = new cc.Animation();

//3、添加序列帧
for(var i=1; i<=4; i++)
{
	animation.addSpriteFrameWithFile('res/d0'+i+'.png');
}

//4、设置动画播放速度
animation.setDelayPerUnit(0.1);

//5、创建cc.Animate对象,把animation对象丢进去
var animate = new cc.Animate(animation);

//6、精灵执行动画
xm.runAction(animate);

运行后发现动画只播放了一次就不播放了。如果需要动画不停的播放,则只需要把上面代码的第6步修改如下即可 :

xm.runAction(new cc.RepeatForever(animate));  

例子2(用整张图片实现帧动画)



var xm = new cc.Sprite('res/sprites.png', cc.rect(0,0,165,220));
xm.x = 400;
xm.y = 640;
this.addChild(xm);
var animation = new cc.Animation();
for(var i=0; i<4; i++)
{
    //第一个参数是图片,第二个参数是设置一个图片的可视区域
    animation.addSpriteFrame(new cc.SpriteFrame('res/sprites.png', cc.rect(i*165,0,165,220))); 
}
animation.setDelayPerUnit(0.1);
var animate = new cc.Animate(animation);
xm.runAction(new cc.RepeatForever(animate));


例子3(手动设置切图)

var xm = new cc.Sprite('res/d01.png');
xm.x = 400;
xm.y = 640;
this.addChild(xm);
var xm_c = new cc.SpriteFrame('res/sprites.png', cc.rect(165,0,165,220));  //将要切换的图片
window.setTimeout(function(){
     xm.initWithSpriteFrame(xm_c);  //调用initWithSpriteFrame进行切图
}, 2000);


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值