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

原创 2014年01月25日 14:12:00

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




代码下载: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


cocos2d之音乐和音效

方式一: SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic("test.mp3");
  • zhliu1991
  • zhliu1991
  • 2014年08月26日 14:55
  • 135

六 手游开发神器 cocos2d-x editor 之场景切换

接着上一节,我们已经创建了一个主游戏场景MainLayer,现在我们需要创建一个开始场景StartLayer,包括StartLayer.ccbx和StartLayer.js两个文件,点击StartLa...
  • touchsnow
  • touchsnow
  • 2014年01月23日 20:03
  • 6696

十 手游开发神器 cocos2d-x editor 之触摸事件

这一节主要是介绍cocos2dx editor的触摸事件,让小怪物跟随移动。cocos2dx editor是开发跨平台的手机游戏工具,运行window系统上,javascript脚本语言,基于coco...
  • touchsnow
  • touchsnow
  • 2014年01月25日 12:26
  • 5064

四 手游开发神器 cocos2d-x editor 游戏框架介绍

cocos2d-x editor 新建工程时会自动生成游戏框架,如下图  红色边框共有五个区域  idea 是自动生成的目录,读者不需要操作 Source是主工程目录,所有的设计和编码都...
  • touchsnow
  • touchsnow
  • 2014年01月23日 11:44
  • 14776

关于cocos2dx的背景音乐和音效(2)

上回我分享了音频的那些用法,这次来讲一些怎么用滑动条来控制音频。        首先要新建个标题,以及自己找些控制的图片按钮,下面是初始化按钮的代码。   autolabhead=Label::cre...
  • shenmirenLcy
  • shenmirenLcy
  • 2015年12月05日 09:57
  • 1246

cocos2d-x 声音和音效

Cocos2d-x提供了对声音和音效的支持,能够十分方便地实现音乐与音效的播放、暂停和循环功能。 使用音效引擎 我们可以使用Cocos2d-x自带的CocosDension库来使用声音引擎...
  • nanshan_hzq
  • nanshan_hzq
  • 2014年10月10日 15:28
  • 4238

三 手游开发神器 cocos2d-x editor 之基础工具 intellij idea

intellij idea 13 注册序列号:亲测有效  Orefa      00066-FEIQE-EEZDY-D9PBH-Z9W0E-SPJS1makeapp   00820-K2S8N-...
  • touchsnow
  • touchsnow
  • 2014年01月18日 18:26
  • 12572

十四 手游开发神器 cocos2d-x editor 之串联游戏流程

这一节主要是介绍cocos2dx editor的串联游戏流程。cocos2dx editor是开发跨平台的手机游戏工具,运行window系统上,javascript脚本语言,基于cocos2d-x跨平...
  • touchsnow
  • touchsnow
  • 2014年01月25日 18:10
  • 4851

八 手游开发神器 cocos2d-x editor 之动画和帧动画

这一节主要是介绍cocos2dx editor的动画和帧动画,让小怪物摇摇晃晃的向前行走。cocos2dx editor是开发跨平台的手机游戏工具,运行window系统上,javascript脚本语言...
  • touchsnow
  • touchsnow
  • 2014年01月24日 15:13
  • 5788

十三 手游开发神器 cocos2d-x editor 之选关滑动界面(ScrollView)

这一节主要是介绍cocos2dx editor的选关滑动界面。cocos2dx editor是开发跨平台的手机游戏工具,运行window系统上,javascript脚本语言,基于cocos2d-x跨平...
  • touchsnow
  • touchsnow
  • 2014年01月25日 17:14
  • 5352
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:十一 手游开发神器 cocos2d-x editor 之音乐和音效
举报原因:
原因补充:

(最多只允许输入30个字)