位置: IT常识 - 正文

Html5钢琴块游戏制作(音乐游戏)(钢琴块小游戏在线玩)

编辑:rootadmin
Html5钢琴块游戏制作(音乐游戏)

推荐整理分享Html5钢琴块游戏制作(音乐游戏)(钢琴块小游戏在线玩),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:钢琴块在线游戏免费,钢琴块儿小游戏,在线钢琴块游戏,钢琴块在线游戏试玩,钢琴块在线游戏试玩,钢琴块在线玩游戏,钢琴块小游戏在线玩,钢琴块在线游戏试玩,内容如对您有帮助,希望把文章链接给更多的朋友!

当年一款手机节奏音游,相信不少人都玩过或见过。最近也是将其做了出来分享给大家。

游戏的基本玩法:点击下落的黑色方块,弹奏音乐。(下落的速度会越来越快) 

可以进行试玩,手机玩起来效果会更好些。

点击试玩

游戏使用了一首儿歌乐谱,听出来是啥了吗^ ^

Html5钢琴块游戏制作(音乐游戏)(钢琴块小游戏在线玩)

----------------------------------------------------------------------

   长期更新不同类型 H5 游戏,进行经验分享

   对游戏感兴趣的小伙伴,加个关注哈

----------------------------------------------------------------------

实现功能制作了简单的近乎黑白的显示界面。加入了音频乐谱,可以快速弹奏出一首简单的音乐。游戏加入了Game Over的判断,当点击两次,或为点击黑色方块时,游戏结束。

源码地址:pro.youyu001.com

制作思路游戏的主场景使用了js绘图进行制作,里面的方块都是程序画出来的。音乐方面采用了weixin的js控件,进行了预加载处理。不同的音色,找了10几个音节的Mp3文件,演奏时进行播放控制。声音播放时做了一个音频对象池子,进行音乐的播放和停止后的回收。

以上为开发的一些思路和关键点。欢迎一起讨论

代码说明

1、通过绘图方式,制作了游戏中钢琴按键的效果。

this.graphics = new PIXI.Graphics();this.graphics.beginFill(this.color, 1);this.graphics.drawRect(0, 0, w, h);this.addChild(this.graphics);

2、游戏的按钮进行了对象化处理,控制了按钮的下落速度,显示状态与点击事件等。

function Rect(w, h, rectType) { //对象继承Container PIXI.Container.call(this); //用于控制回掉函数的本对象属性控制 var self = this; this.clicked = true; this.rectType = rectType; this.color = 0x555555; if(this.rectType == 0) { //黑色 this.color = 0x000000; this.clicked = false; } else if(this.rectType == 1){ //白色 this.color = 0xFFFFFF; } this.graphics = new PIXI.Graphics(); this.graphics.beginFill(this.color, 1); this.graphics.drawRect(0, 0, w, h); this.addChild(this.graphics); //添加黑色或白色方块点击事件 if(this.rectType != 2) { this.interactive = true; this.on("click", function(){ self.play(); }); this.on("touchstart", function(){ self.play(); }); } this.play = function() { //方块只能点击一次,添加此验证 if(this.rectType == 0 && this.clicked == false) { //记录点击状态 this.clicked = true; //黑色方块被点击变色 self.graphics.beginFill(0x888888, 1); self.graphics.drawRect(0, 0, 123, 150); //按照乐谱寻找需要播放的音色 var mIndex = musicArrListIndex[music[musicIndex]]; var audio = musicArrList[music[musicIndex]][mIndex]; //播放音乐 audio.play(); //切换同音色的声音对象,解决同音色一起播放问题 mIndex ++; if(mIndex >= 5) { mIndex = 0; } //记录同音色 播放的序列,5选1 musicArrListIndex[music[musicIndex]] = mIndex; musicIndex ++; //乐谱循环播放 if(musicIndex >= music.length - 1) { musicIndex = 0; } //得分 score ++; scoreTxt.text = "score: " + score; } else { //黑色方块被点击变红 self.graphics.beginFill(0xff1111, 1); self.graphics.drawRect(0, 0, 123, 200); over(); } }}//对象继承Container的属性方法Rect.prototype = Object.create(PIXI.Container.prototype);

3、游戏中的音频处理模块,音频预加载。

//iphone手机声音预加载兼容 document.addEventListener("WeixinJSBridgeReady", function () { var controls = document.getElementsByTagName('audio'); for(var i=0; i<controls.length; i++){ controls[i].load(); controls[i].pause(); } }, false);

4、乐谱与音频对象的代码逻辑编写。

//乐谱var music = [1,1,1,3,5,5,5,5,6,6,6,8,5,4,4,6,6,3,3,3,3,2,2,2,2,5,5,1,1,1,3,5,5,5,5,6,6,6,8,5,4,4,4,6,3,3,3,3,3,3,2,2,2,3,1];var musicIndex = 0;//储存声音autio对象var musicArrList = [];var musicArrListIndex = [];for(var i=1;i<10;i++){ //创建声音 var musicArr = []; //初始化9个音色 for(var j = 0; j < 5;j ++) { var audio = new Audio(); audio.autoplay = true; audio.src=''; audio.src = 'audio/'+i+'.mp3'; audio.load(); audio.pause(); audio.preload="auto"; document.body.appendChild(audio); musicArr.push(audio); } musicArrListIndex.push(0); musicArrList.push(musicArr);}
本文链接地址:https://www.jiuchutong.com/zhishi/297272.html 转载请保留说明!

上一篇:微信小程序中如何实现微信支付(微信小程序中如何打开不加检验文件的网页)

下一篇:【CSS】CSS字体样式【CSS基础知识详解】(css中字体样式设置)

  • 公司税务注销流程是否要不发生业务多久
  • 延期缴纳税款是纳税争议吗
  • 积分换物品是真的吗
  • 运输途中的合理损耗
  • 申请纳税申报怎么申报
  • 抚恤金入账
  • 零售业进销差价会计分录实例
  • 股票分红会冲抵成本吗
  • 银行结息计入什么费用
  • 处置固定资产简易征收
  • 分公司注销后账户不注销可以吗
  • 非营利组织项目
  • 销售货物代垫的运费发生的增值税
  • 新企业第一次报所得税
  • 存货的计价方法有哪些,具体内容是什么
  • 商品卖亏的会计分录
  • 顾客办理会员卡要退怎么办
  • 增资需要登报吗
  • 材料采购计入什么会计科
  • 学校有没有纳税人识别号
  • 2018年房地产行业分析
  • 企业当年发生的某些费用
  • 电话费补贴属于免税收入吗
  • 出租厂房算什么收入
  • 未结转是什么意思
  • 软件行业服务费印花税
  • 销售收入交的印花税谁交
  • 专项储备属于利润分配吗
  • 不同税率的发票可以合并入账吗
  • c盘扩展卷是灰色的,有空间
  • 缴纳社保费现金流量?
  • 虚拟机vm怎么用
  • hpp是什么文件
  • PHP:spl_autoload_unregister()的用法_spl函数
  • 境外代扣代缴企业所得税的计税依据包含企业所得税嘛
  • 金融资产的要素有哪些?
  • 业务招待费税前扣除标准按照发生额的60%扣除
  • 什么手机最薄最有手感
  • php图片链接
  • 无形资产的转让
  • 其他综合收益含税吗
  • php去除指定字符
  • 转让旧固定资产增值税例题
  • 投资收益结转到哪个科目
  • php面向对象的三大特征
  • bootstrapicon
  • vue子组件获取dom元素的方法
  • 生产车间生产人员福利费
  • 印花税应税凭证数量是什么意思
  • 前端开发从入门到放弃
  • php无限级分销
  • 固定资产停止使用
  • 固定资产租赁费发票增值税税率
  • 手机上动态调试apk
  • SQLite中的WAL机制详细介绍
  • mongodb快速入门
  • 银行承兑汇票存在的风险
  • 设计部工资计入哪个科目
  • 开发票给别人该如何收取税点?
  • 财产转让收入属于什么收入
  • 去年亏损今年盈利同比怎么算
  • 公司买车赠送给个人,怎么交税
  • 公司找的第三方代缴社保
  • 车保险说给返钱是真的吗
  • 设备折旧怎么记账
  • 客户赔款会计科目
  • 员工宿舍的物业费可以抵扣进项税吗
  • mysql数据库高可用架构
  • 苹果mac查看
  • win7手动更新在哪里设置
  • hyper-v win98
  • 全球知名的中文搜索引擎
  • win7系统电脑打开的软件闪退怎么办
  • css@import
  • 微信小程序访问相册权限在哪里
  • Node.js中的什么模块是用于处理文件和目录的
  • putty自动退出
  • android基础知识大全
  • 营改增后土地增值税
  • 税务稽查会打电话吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设