这一节,我将给游戏添加背景音乐和音效;
代码下载:http://www.kuaipan.cn/file/id_25348935635744873.htm?source=1
先在Resources目录下新建一个sounds目录,把准备好的音效复制到该目录下;
打开MainLayer.js,修改代码如下:
// // CleanerScoreScene class // var MainLayer = function () { cc.log("MainLayer") this.scoreLabel = this.scoreLabel || {}; this.monster = this.monster || {}; this.score = 123; }; MainLayer.prototype.onDidLoadFromCCB = function () { if (sys.platform == 'browser') { this.onEnter(); } else { this.rootNode.onEnter = function () { this.controller.onEnter(); }; } this.rootNode.schedule(function (dt) { this.controller.onUpdate(dt); }); this.rootNode.onExit = function () { this.controller.onExit(); }; this.rootNode.onTouchesBegan = function (touches, event) { this.controller.onTouchesBegan(touches, event); return true; }; this.rootNode.onTouchesMoved = function (touches, event) { this.controller.onTouchesMoved(touches, event); return true; }; this.rootNode.onTouchesEnded = function (touches, event) { this.controller.onTouchesEnded(touches, event); return true; }; this.rootNode.setTouchEnabled(true); }; MainLayer.prototype.onEnter = function () { var flowerParticle = cc.ParticleSystem.create("Resources/particles/flower.plist"); flowerParticle.setAnchorPoint(cc.p(0.5, 0.5)); flowerParticle.setPosition(cc.p(60, 160)); flowerParticle.setPositionType(1); this.monster.addChild(flowerParticle); cc.AudioEngine.getInstance().playMusic("Resources/sounds/bg_music.mp3", true); } MainLayer.prototype.monsterMove = function (x, y) { this.monster.stopAllActions(); cc.AnimationCache.getInstance().addAnimations("Resources/snow_frame.plist");//添加帧动画文件 var action0 = cc.Sequence.create(cc.MoveTo.create(5, cc.p(x, y))); //向前移动 var actionFrame = cc.Animate.create(cc.AnimationCache.getInstance().getAnimation("monster")); //获取帧动画 var action1 = cc.Repeat.create(actionFrame, 90000); var action2 = cc.Spawn.create(action0, action1); //同步动画 this.monster.runAction(action2); } MainLayer.prototype.createParticle = function (name, x, y) { var particle = cc.ParticleSystem.create("Resources/particles/" + name + ".plist"); particle.setAnchorPoint(cc.p(0.5, 0.5)); particle.setPosition(cc.p(x, y)); particle.setPositionType(1); particle.setDuration(3); this.rootNode.addChild(particle); } MainLayer.prototype.onUpdate = function (dt) { this.score += dt; this.scoreLabel.setString(Math.floor(this.score)); } MainLayer.prototype.onExitClicked = function () { cc.log("onExitClicked"); } MainLayer.prototype.onExit = function () { cc.log("onExit"); } MainLayer.prototype.onTouchesBegan = function (touches, event) { var loc = touches[0].getLocation(); } MainLayer.prototype.onTouchesMoved = function (touches, event) { cc.log("onTouchesMoved"); } MainLayer.prototype.onTouchesEnded = function (touches, event) { cc.log("onTouchesEnded"); var loc = touches[0].getLocation(); cc.AudioEngine.getInstance().playEffect("Resources/sounds/bomb.mp3", false); this.monsterMove(loc.x, loc.y); this.createParticle("around", loc.x, loc.y); }
点击运行;一切OK;
下一篇文章 我会介绍cocos2d-x editor的悬浮框 笔者(李元友)
资料来源:cocos2d-x editor
本文出自 “上海易骏网络” 博客,请务必保留此出处http://makeapp628.blog.51cto.com/8596155/1361224