十一 手游开发神器 cocos2d-x editor 之音乐和音效

时间:2022-04-08 12:10:14

这一节,我将给游戏添加背景音乐和音效;


十一 手游开发神器  cocos2d-x  editor 之音乐和音效


代码下载:http://www.kuaipan.cn/file/id_25348935635744873.htm?source=1



先在Resources目录下新建一个sounds目录,把准备好的音效复制到该目录下;

十一 手游开发神器  cocos2d-x  editor 之音乐和音效


打开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