python和cc哪个适合做游戏的背景音乐_(转)CocosCreator零基础制作游戏《极限跳跃》九、为游戏添加声音音效功能...
CocosCreator零基础制作游戏《极限跳跃》九、为游戏添加声音音效功能
游戏的声音很重要,我们在这个游戏中需要加2个音效,一个背景音乐。。。第一个音效在玩家与障碍物碰撞的地方加碰撞音效,第二个在玩家主角坠落到屏幕底部的时候加游戏结束的音效。然后游戏开始的时候加载背景音乐。
我们一开始在MainScene场景中的声音图标节点就是我们用来控制声音的开关。。
首先修改guawileft.js脚本,添加音效资源,在onload设置声音大小。代码:
01
//guanwileft.js
02
03
properties: {
04
05
times: 0,
06
// 碰撞音效资源
07
pengAudio: {
08
default: null,
09
url: cc.AudioClip
10
},
11
},
12
// use this for initialization
13
onLoad: function () {
14
15
this.moveRight();
16
cc.audioEngine.setEffectsVolume ( 0.2 );//设置音效声音大小
17
18
19
},
同理在guaiwuright.js脚本也是这样添加。。
为障碍物的2个脚本添加好代码后,我们需要修改我们的两个障碍物预制体。绑定音效资源,这里以zhangaiwuleft预制体为例。双击zhangaiwuleft预制体,添加声音资源绑定。如图:
zhangaiwuright预制体同理也是这样添加声音。
碰撞音效加载好后,我们为游戏结束加个音效。打开GAME.js脚本。在 properties中添加属性。代码如下:
01
// 背景音乐资源
02
bgmusic: {
03
default: null,
04
type: cc.Node
05
},
06
// 游戏音乐资源
07
gameAudio: {
08
default: null,
09
url: cc.AudioClip
10
},
11
// 游戏结束音乐资源
12
gameOverAudio: {
13
default: null,
14
url: cc.AudioClip
15
},
添加好代码后,我们双击打开MainScene场景开始为属性绑定资源和节点。。如图:
可以跑起来测试下我们的声音有没有了。。这就完了吗?当然不是,我们的声音图标还没有用到啊!!
下面为我们的声音图标节点加一个脚本,新建脚本AudioScript.js。代码如下:
01
//AudioScript.js
02
03
cc.Class({
04
extends: cc.Component,
05
properties: {
06
//是否开启音乐 默认开启
07
isOpen:true,
08
// 游戏音乐资源
09
gameAudio: {
10
default: null,
11
url: cc.AudioClip
12
},
13
14
},
15
// use this for initialization
16
onLoad: function () {
17
this.isOpen =true;//开启音乐
18
cc.audioEngine.playMusic (this.gameAudio,true );
19
20
},
21
//检查音乐开启状态
22
checkMusic:function(){
23
24
return isOpen;
25
},
26
//获取点击坐标
27
setCp:function(pos){
28
29
var rec = cc.rectContainsPoint(this.node.getBoundingBoxToWorld(),pos) ;
30
31
if(rec){
32
//检查音乐开启状态
33
//如果音乐开启了则关闭音乐和音效
34
if(this.isOpen){
35
//if (cc.audioEngine.isMusicPlaying()) {
36
cc.audioEngine.pauseMusic();//暂停正在播放音乐
37
cc.log("暂停正在播放音乐");
38
//this.node.addChild("Texture/menu_music_off.png");
39
this.isOpen =false;
40
}
41
else {
42
// cc.log("music is not playing");
43
cc.audioEngine.resumeMusic ();//恢复背景音乐
44
cc.log("恢复背景音乐");
45
this.isOpen =true;
46
}
47
48
}
49
},
50
51
// called every frame, uncomment this function to activate update callback
52
// update: function (dt) {
53
54
// },
55
});
代码里实现了一个音乐播放的状态,用来给我们判断是否播放了。播放了图标显示声音图标,没有播放显示静音图标。
1
var rec = cc.rectContainsPoint(this.node.getBoundingBoxToWorld(),pos) ;
此处用来判断声音图标的包围盒和点击坐标的比较,如果为true则表示声音图标被点击到了,如果声音图标被点击则判断当前声音播放状态,并改变状态。声音图标节点显示如图:
声音节点绑定好脚本后,我们继续修改GAME.js脚本中的代码,为AudioScript.js中的方法setCp:function(pos)传参数。
首先在顶部添加引用代码,然后在点击事件添加点击的检测方法,然后update实现更新状态。代码如图:
这里我就不贴代码了,大家手打下。。。到此我们的声音系统也添加完毕了。。。对了,还少一点,声音状态切换的时候声音图标也要改变啊。。。这里大家自己解决。。
python和cc哪个适合做游戏的背景音乐_(转)CocosCreator零基础制作游戏《极限跳跃》九、为游戏添加声音音效功能...相关推荐
- creator 跳跃弧线_(转)CocosCreator零基础制作游戏《极限跳跃》七、制作游戏结束场景并实现场景切换...
CocosCreator零基础制作游戏<极限跳跃>七.制作游戏结束场景并实现场景切换 前面我们实现了游戏的碰撞检测,碰到障碍物我们的角色就会死掉并开始掉落,角色掉落到屏幕底部时候游戏结束, ...
- (转)CocosCreator零基础制作游戏《极限跳跃》六、制作游戏障碍物实现碰撞检测...
CocosCreator零基础制作游戏<极限跳跃>六.制作游戏障碍物实现碰撞检测 前面我们实现了背景和主角的操作,下面我们开始添加游戏的障碍物以及碰撞检测的功能. 一.制作障碍物Prefa ...
- creator 跳跃弧线_(转)CocosCreator零基础制作游戏《极限跳跃》四、添加游戏主场景控制脚本...
CocosCreator零基础制作游戏<极限跳跃>四.添加游戏主场景控制脚本 前面简单的实现了主界面的UI设置,现在我们开始制作游戏的控制脚本. 在资源管理器的Script文件夹中,点击右 ...
- (转)CocosCreator零基础制作游戏《极限跳跃》二、制作游戏开始场景
CocosCreator零基础制作游戏<极限跳跃>二.制作游戏开始场景 我们刚刚分析了<极限跳跃>这款游戏,下面我们开始制作第一个游戏场景,也就是游戏的开始场景. 首先,打开C ...
- creator 跳跃弧线_(转)CocosCreator零基础制作游戏《极限跳跃》八、添加游戏积分系统...
CocosCreator零基础制作游戏<极限跳跃>八.添加游戏积分系统 前面我们实现了整个游戏的流程,下面我们来完善游戏的积分系统..先来分析下游戏的积分,第一次展示积分的地方就是我们的游 ...
- CocosCreator零基础制作游戏《极限跳跃》二、制作游戏开始场景
转自:http://www.byjth.com/CocosCreator/67.html CocosCreator零基础制作游戏<极限跳跃>二.制作游戏开始场景 我们刚刚分析了<极限 ...
- creator 跳跃弧线_(转)CocosCreator零基础制作游戏《极限跳跃》一、游戏分析
CocosCreator零基础制作游戏<极限跳跃>一.游戏分析 无意中发现了小游戏<极限跳跃>感觉挺有意思的,正好这段时间和朋友讨论准备用js还是unity做小游戏,初定用js ...
- CocosCreator零基础制作游戏《极限跳跃》
转载闭眼就天黑专栏_个人博客_技术源于分享.一个完整的小游戏教程适合小白入手 一.思维导图 二.制作登录场景 首先,打开CocosCreator,新建HelloWorld项目.选择项目路径,输入项目名 ...
- 如何零基础制作一款自己的游戏!(一)
如何零基础制作一款游戏(一) 文章目录 如何零基础制作一款游戏(一) 前言 一.软件下载以及创建工程 二.使用步骤 1.进入工程 2.设置更改 3.更改界面 4.脚本更改 5.下载插件 6.如何设置障 ...
最新文章
- mysql练习题——数据分析/大数据岗面试
- Golang闭包陷阱
- OpenCV 图像的加法
- 一道浅浅的山脊 —— 游戏3D造型艺术的工业化进程
- 新浪微博第三方登陆重定向错误23123
- 【蓝桥杯单片机】实战训练:基于15单片机的距离测试及电压数据采集响应系统(超声波测距、上位机、DAC输出)
- photoshop cs6中画虚线的设置
- 新概念二册 Lesson 15 Good news佳音 ( 陈述句直接引语变间接引语)
- ieTEST停止工作bug修复
- java 微信获取用户地理位置_Java微信公众平台开发之获取地理位置
- Entity Framework学习笔记——EF简介(一篇文章告诉你什么是EF)
- win7系统 无法访问 Windows installer服务。Windows Installer 没有正确安装时
- Flink CDC MongoDB Connector 的实现原理和使用实践
- 谷歌浏览器Chrome无法自动同步的解决办法
- 评论:华为与IBM员工考核体系的差别
- windows 10下oracle相关异常及处理方法
- 博阅电纸书_博阅电纸书评测:轻松阅读的开始
- ABAQUS2020+Fotran2021+VisualStudio2019设置关联
- 如何把SATA/RAID驱动集成到win xp 安装盘里?
- 两万字摘录计算机博士生涯规划
热门文章
- linux 非线性视频 字幕,非线性视频编辑技术名词:蒙太奇
- linux 证书有效期查看
- 智慧农业云平台APP[中易云智慧农业物联网]
- SketchUp:解决镜头剪切屏幕出现破面视角的问题图文教程
- 小羊驼和你一起学习cocos2d-x与lua之五(HelloLua分析)
- eclipse ee 最新版,官网安装教程
- 令人捧腹大笑的QQ个性签名:我爸有钱不单身,我单身没有钱
- ssm的校园单车自行车租赁系统|租车系统计算机专业毕业论文java毕业设计开题报告
- Phoenix FD火凤凰插件是什么?哪个动画云渲染农场支持渲染?
- Python 修改AD账号密码(二)- 修改域账号密码