首页 >> 大全

10、帧动画

2023-06-23 大全 59 作者:考证青年

使用cc. 与cc. 这2个类来实现帧动画

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

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

例子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);

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了