十一 手游开发神器 cocos2d-x editor 之音乐和音效
这一节,我将给游戏添加背景音乐和音效;
代码下载: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的悬浮框 笔者(李元友)
相关推荐
Cricket 2020-05-31
woxmh 2019-12-30
CaptainCTR 2019-12-19
86463960 2013-07-15
80487916 2013-07-06
86463960 2013-08-28
BenOnceMore 2013-08-26
89741733 2014-03-20
86201242 2014-05-13
85427010 2014-09-04
文艺小青年 2015-03-26
cooclc 2015-03-26
85427010 2015-05-22
frankwang 2015-05-19
80487916 2015-05-18
进入场景而且过渡动画结束时候触发。提示 GameScene场景中的继承于节点,这些生命周期事件根本上是从Node继承而来。事实上所有Node对象都有这些事件,具体实现代码与GameScene场景类似。
87921036 2015-05-12
85427010 2011-12-31
yizhiyanstart 2011-12-31