标签:c++ cocos2d cocos2d-x 开发人员 游戏
与动作密不可分的还有动画,动画又可以分为场景过渡动画和帧动画。场景过渡动画我们在以往介绍过,这一个我们只介绍帧动画。 ctor: function () {
this._super();
var size = cc.director.getWinSize();
var bg = new cc.Sprite(res.Background_png);
bg.x = size.width / 2;
bg.y = size.height / 2;
this.addChild(bg);
var frameCache = cc.spriteFrameCache;
frameCache.addSpriteFrames(res.run_plist, res.run_png);
this.sprite = new cc.Sprite("#h1.png");
this.sprite.x = size.width / 2;
this.sprite.y = size.height / 2;
this.addChild(this.sprite);
//toggle菜单
var goNormalSprite = new cc.Sprite("#go.png");
var goSelectedSprite = new cc.Sprite("#go.png");
var stopSelectedSprite = new cc.Sprite("#stop.png");
var stopNormalSprite = new cc.Sprite("#stop.png");
var goToggleMenuItem = new cc.MenuItemSprite(goNormalSprite, goSelectedSprite);
var stopToggleMenuItem = new cc.MenuItemSprite(stopSelectedSprite, stopNormalSprite);
var toggleMenuItem = new cc.MenuItemToggle(
goToggleMenuItem,
stopToggleMenuItem,
this.onAction, this);
toggleMenuItem.x = 930;
toggleMenuItem.y = size.height - 540;
var mn = new cc.Menu(toggleMenuItem);
mn.x = 0;
mn.y = 0;
this.addChild(mn);
return true;
}app.js中的HelloWorldLayer中的onAction函数代码如下:onAction: function (sender) {
if (this.isPlaying != true) {
///////////////动画开始//////////////////////
var animation = new cc.Animation(); ①
for (var i = 1; i <= 4; i++) {
var frameName = "h" + i + ".png"; ②
cc.log("frameName = " + frameName);
var spriteFrame = cc.spriteFrameCache.getSpriteFrame(frameName); ③
animation.addSpriteFrame(spriteFrame); ④
}
animation.setDelayPerUnit(0.15); //设置两个帧播放时间 ⑤
animation.setRestoreOriginalFrame(true); //动画执行后还原初始状态 ⑥
var action = cc.animate(animation); ⑦
this.sprite.runAction(cc.repeatForever(action)); ⑧
//////////////////动画结束///////////////////
this.isPlaying = true;
} else {
this.sprite.stopAllActions(); ⑨
this.isPlaying = false;
}
}上述第①行代码是创建一个Animation对象,它是动画对象,然后我们要通过循环将各个帧图片放到Animation对象中。第②行是获得帧图片的文件名。第③行代码是通过帧名创建精灵帧对象,第④行代码把精灵帧对象添加到Animation对象中。第⑨行代码this.sprite.stopAllActions()停止所有的动作。
《Cocos2d-x实战 JS卷》现已上线,各大商店均已开售:
京东:http://item.
标签:c++ cocos2d cocos2d-x 开发人员 游戏
原文地址:http://blog.csdn.net/tonny_guan/article/details/44747543