位置: 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中字体样式设置)

  • 微信怎么完成群公告(微信怎么完成群公告显示完成)

    微信怎么完成群公告(微信怎么完成群公告显示完成)

  • 目前微机中广泛采用的电子元器件是(目前微机中广泛采用的电子元器)

    目前微机中广泛采用的电子元器件是(目前微机中广泛采用的电子元器)

  • 华为禁止安装来源不明的应用怎么设置(华为手机设置了禁止安装来源的应用怎么打开)

    华为禁止安装来源不明的应用怎么设置(华为手机设置了禁止安装来源的应用怎么打开)

  • 小米鼠标 更换电池吗(小米鼠标如何拆卸)

    小米鼠标 更换电池吗(小米鼠标如何拆卸)

  • 电池效率不支持是什么意思(电池不支持正常的峰值性能)

    电池效率不支持是什么意思(电池不支持正常的峰值性能)

  • ipad能用几年(ipadair5能用几年)

    ipad能用几年(ipadair5能用几年)

  • 抖音上热门支付失败是什么意思(抖音上热门支付成功可以取消吗)

    抖音上热门支付失败是什么意思(抖音上热门支付成功可以取消吗)

  • 抖音加了慢动作后面没音乐怎么回事(抖音加了慢动作怎么取消)

    抖音加了慢动作后面没音乐怎么回事(抖音加了慢动作怎么取消)

  • ipad插卡位置在哪(苹果ipad插卡孔在哪里)

    ipad插卡位置在哪(苹果ipad插卡孔在哪里)

  • 淘宝三星是什么意思(淘宝三星是什么店铺)

    淘宝三星是什么意思(淘宝三星是什么店铺)

  • vivo属于上市公司吗(vivo公司上市时间)

    vivo属于上市公司吗(vivo公司上市时间)

  • 安卓充电器接口叫什么(安卓充电器接口松了怎么办)

    安卓充电器接口叫什么(安卓充电器接口松了怎么办)

  • 快手为什么评论了别人看不到(快手为什么评论看不见)

    快手为什么评论了别人看不到(快手为什么评论看不见)

  • realme Q和荣耀9x区别

    realme Q和荣耀9x区别

  • 陌陌阅后即焚在哪(陌陌阅后即焚功能)

    陌陌阅后即焚在哪(陌陌阅后即焚功能)

  • 抖音直播间里点亮了是什么(抖音直播间里点赞在哪查)

    抖音直播间里点亮了是什么(抖音直播间里点赞在哪查)

  • 淘宝店铺升一钻至少要多少个好评(淘宝店铺升钻要多久)

    淘宝店铺升一钻至少要多少个好评(淘宝店铺升钻要多久)

  • 飞猪怎么开通会员(飞猪会员怎么开)

    飞猪怎么开通会员(飞猪会员怎么开)

  • oppoa9x是什么处理器(oppoa9x参数什么处理器)

    oppoa9x是什么处理器(oppoa9x参数什么处理器)

  • 美团评价要多久才显示(美团评价多久刷新一次)

    美团评价要多久才显示(美团评价多久刷新一次)

  • windows11怎么设置默认应用程序?win11更改默认应用程序方法(windows11怎么设置默认应用)

    windows11怎么设置默认应用程序?win11更改默认应用程序方法(windows11怎么设置默认应用)

  • 阿拉普扎的船屋,印度喀拉拉邦 (© Martin Harvey/The Image Bank/Getty Images)(阿普拉萨)

    阿拉普扎的船屋,印度喀拉拉邦 (© Martin Harvey/The Image Bank/Getty Images)(阿普拉萨)

  • DedeCMS小说连载模块内容页空白是怎么回事?怎么解决?(小说连载阅读安卓版下载)

    DedeCMS小说连载模块内容页空白是怎么回事?怎么解决?(小说连载阅读安卓版下载)

  • 税务师考试给个税表吗
  • 什么公司不可以上市
  • 建筑设备租赁如何确定租赁期限
  • 牛奶 税率
  • 厂家试驾车和经销商试驾车
  • 供暖的配套费是不是开口费
  • 车过户怎么处理
  • 申报增值税附表二代不出数据
  • 国税2016年第53号公告解读
  • 公司低价卖房土地增值税计税方法是什么
  • 农产品普通发票抵扣怎么申报
  • 一般纳税人减免的增值税怎么记账
  • 跨境电子商务零售进口商品的单次交易限值
  • 大学食堂外包的优点与缺点
  • 发票已认证次月冲红
  • 汇算清缴补交所得税后报表需要调整吗
  • 公转私用途最好写借款
  • 研发费用加计扣除
  • 福利费需要扣税吗
  • 为什么无形资产是非流动资产
  • win10下载的软件打不开
  • php字符串型数据的定义方式
  • 投资利润率用什么表示
  • 通过mac地址查找ip的协议
  • 绿萝怎么样养
  • yolov5s和yolov5m
  • 斋普尔的景点
  • 堡垒山是哪个国家
  • 北坡镇人民政府
  • 学摄影要交学费吗
  • ChatGLM-6B (介绍以及本地部署)
  • anaconda卸载干净
  • 利润表本年累计数公式
  • 汽车进项税什么时候抵扣
  • 所得税费用会计处理
  • 普通发票增量需要什么资料
  • ps中如何使用切片工具
  • SQL Server 2005 模板参数使用说明
  • CentOS 7.3上SQL Server vNext CTP 1.2安装教程
  • 公司固定资产抵押贷款无法偿还
  • 伤残鉴定中心流程
  • 固定资产清理是什么账户
  • 以前年度的费用发票怎么入账
  • 企业清算未分配利润怎么交税
  • 行政单位无偿划拨资产账务处理
  • 现在勾选认证是可以下月初认证?
  • 进项抵扣怎么操作
  • 对方企业倒闭了是否能函证
  • 办公设备维修费会计分录
  • 筹建期费用需要结转吗
  • 小规模发票冲红了退税怎么处理
  • 结转资金和结余资金的含义
  • mysql数据库分区查询
  • windows xp升级为windows 7
  • mac所有窗口最小化
  • linux bin和sbin
  • linux重复命令
  • windows8输入法
  • win8如何安装软件
  • 在对linux系统中dir
  • cocos2d游戏源码
  • Android中的touch事件
  • css 间距
  • JavaScript cookie 跨域访问之广告推广
  • bootstrap页头
  • 微信小程序开发用什么语言
  • shell判断文件是否存在且大小不为0
  • node.js常用命令
  • shell 整数赋值
  • unity system
  • ssh远程执行命令返回结果存成本地变量
  • js点击代码
  • javascript工作
  • 广东增值税电子专用发票
  • 重新税务登记程序有哪些
  • 青岛市高新区是红岛吗
  • 上海市税务局领导简介
  • 工会经费计税依据工资总额包括什么
  • 林则徐家训带来的启示
  • 开票风险预警机制黄色预警严重吗?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设