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

86463960 2014-02-22

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

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

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

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

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

打开MainLayer.js,修改代码如下:

[javascript] view plaincopy十一 手游开发神器 cocos2d-x editor 之音乐和音效十一 手游开发神器 cocos2d-x editor 之音乐和音效
 
  1. //  
  2. // CleanerScoreScene class  
  3. //  
  4.   
  5. var MainLayer = function () {  
  6.     cc.log("MainLayer")  
  7.     this.scoreLabel = this.scoreLabel || {};  
  8.     this.monster = this.monster || {};  
  9.     this.score = 123;  
  10. };  
  11.   
  12. MainLayer.prototype.onDidLoadFromCCB = function () {  
  13.     if (sys.platform == 'browser') {  
  14.         this.onEnter();  
  15.     }  
  16.     else {  
  17.         this.rootNode.onEnter = function () {  
  18.             this.controller.onEnter();  
  19.         };  
  20.     }  
  21.   
  22.     this.rootNode.schedule(function (dt) {  
  23.         this.controller.onUpdate(dt);  
  24.     });  
  25.   
  26.     this.rootNode.onExit = function () {  
  27.         this.controller.onExit();  
  28.     };  
  29.   
  30.     this.rootNode.onTouchesBegan = function (touches, event) {  
  31.         this.controller.onTouchesBegan(touches, event);  
  32.         return true;  
  33.     };  
  34.   
  35.     this.rootNode.onTouchesMoved = function (touches, event) {  
  36.         this.controller.onTouchesMoved(touches, event);  
  37.         return true;  
  38.     };  
  39.     this.rootNode.onTouchesEnded = function (touches, event) {  
  40.         this.controller.onTouchesEnded(touches, event);  
  41.         return true;  
  42.     };  
  43.     this.rootNode.setTouchEnabled(true);  
  44. };  
  45.   
  46. MainLayer.prototype.onEnter = function () {  
  47.     var flowerParticle = cc.ParticleSystem.create("Resources/particles/flower.plist");  
  48.     flowerParticle.setAnchorPoint(cc.p(0.5, 0.5));  
  49.     flowerParticle.setPosition(cc.p(60, 160));  
  50.     flowerParticle.setPositionType(1);  
  51.     this.monster.addChild(flowerParticle);  
  52.   
  53.     cc.AudioEngine.getInstance().playMusic("Resources/sounds/bg_music.mp3", true);  
  54. }  
  55.   
  56. MainLayer.prototype.monsterMove = function (x, y) {  
  57.     this.monster.stopAllActions();  
  58.     cc.AnimationCache.getInstance().addAnimations("Resources/snow_frame.plist");//添加帧动画文件  
  59.     var action0 = cc.Sequence.create(cc.MoveTo.create(5, cc.p(x, y)));  //向前移动  
  60.     var actionFrame = cc.Animate.create(cc.AnimationCache.getInstance().getAnimation("monster"));   //获取帧动画  
  61.     var action1 = cc.Repeat.create(actionFrame, 90000);  
  62.     var action2 = cc.Spawn.create(action0, action1); //同步动画  
  63.     this.monster.runAction(action2);  
  64. }  
  65.   
  66. MainLayer.prototype.createParticle = function (name, x, y) {  
  67.     var particle = cc.ParticleSystem.create("Resources/particles/" + name + ".plist");  
  68.     particle.setAnchorPoint(cc.p(0.5, 0.5));  
  69.     particle.setPosition(cc.p(x, y));  
  70.     particle.setPositionType(1);  
  71.     particle.setDuration(3);  
  72.     this.rootNode.addChild(particle);  
  73. }  
  74.   
  75.   
  76. MainLayer.prototype.onUpdate = function (dt) {  
  77.     this.score += dt;  
  78.     this.scoreLabel.setString(Math.floor(this.score));  
  79. }  
  80.   
  81. MainLayer.prototype.onExitClicked = function () {  
  82.     cc.log("onExitClicked");  
  83. }  
  84.   
  85.   
  86. MainLayer.prototype.onExit = function () {  
  87.     cc.log("onExit");  
  88. }  
  89.   
  90. MainLayer.prototype.onTouchesBegan = function (touches, event) {  
  91.     var loc = touches[0].getLocation();  
  92. }  
  93.   
  94. MainLayer.prototype.onTouchesMoved = function (touches, event) {  
  95.     cc.log("onTouchesMoved");  
  96. }  
  97.   
  98. MainLayer.prototype.onTouchesEnded = function (touches, event) {  
  99.     cc.log("onTouchesEnded");  
  100.     var loc = touches[0].getLocation();  
  101.     cc.AudioEngine.getInstance().playEffect("Resources/sounds/bomb.mp3", false);  
  102.     this.monsterMove(loc.x, loc.y);  
  103.     this.createParticle("around", loc.x, loc.y);  
  104. }  


点击运行;一切OK;

下一篇文章 我会介绍cocos2d-x  editor的悬浮框    笔者(李元友)

相关推荐