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

  • 微信怎么发不带图片的朋友圈(微信怎么发不带图片的文字朋友圈)

    微信怎么发不带图片的朋友圈(微信怎么发不带图片的文字朋友圈)

  • 小米路由器wifi密码忘了怎么办(小米路由器wifi6怎么设置)

    小米路由器wifi密码忘了怎么办(小米路由器wifi6怎么设置)

  • 内存卡里丢失的照片怎么找回来(内存卡丢失的视频怎么恢复)

    内存卡里丢失的照片怎么找回来(内存卡丢失的视频怎么恢复)

  • 新设备登录微信多久可以改密码(新设备登录微信聊天记录还在吗)

    新设备登录微信多久可以改密码(新设备登录微信聊天记录还在吗)

  • vivox30视频美颜怎么开(vivox30视频美颜怎么调)

    vivox30视频美颜怎么开(vivox30视频美颜怎么调)

  • 华为nova7pro有耳机孔吗(华为nova7pro耳孔在哪)

    华为nova7pro有耳机孔吗(华为nova7pro耳孔在哪)

  • 小米9的屏幕什么级别的(小米9屏幕什么水准)

    小米9的屏幕什么级别的(小米9屏幕什么水准)

  • iphoneseqq显示什么在线(iphone12qq显示)

    iphoneseqq显示什么在线(iphone12qq显示)

  • qq举报中心在哪里看(qq举报页面)

    qq举报中心在哪里看(qq举报页面)

  • 咸鱼为什么别人付不了款(咸鱼为什么别人发的东西不会违规)

    咸鱼为什么别人付不了款(咸鱼为什么别人发的东西不会违规)

  • 西瓜视频为什么提现不了(西瓜视频为什么不能投屏了)

    西瓜视频为什么提现不了(西瓜视频为什么不能投屏了)

  • 手机qq突然无响应怎么办(手机qq突然无响应了)

    手机qq突然无响应怎么办(手机qq突然无响应了)

  • 华为mate20如何强制开机(华为mate20怎么强制)

    华为mate20如何强制开机(华为mate20怎么强制)

  • 6s屏幕坏了能用6的吗(6s屏幕坏了能用7的吗)

    6s屏幕坏了能用6的吗(6s屏幕坏了能用7的吗)

  • 微信怎么在朋友圈发一排字(微信怎么在朋友圈发收藏)

    微信怎么在朋友圈发一排字(微信怎么在朋友圈发收藏)

  • vivos5怎么更换主题(vivo怎么更换主屏)

    vivos5怎么更换主题(vivo怎么更换主屏)

  • 微信besos是什么意思(微信ibs是什么意思)

    微信besos是什么意思(微信ibs是什么意思)

  • 小米8se手机开不了机怎么办(小米8se手机不能长时间录屏怎么办)

    小米8se手机开不了机怎么办(小米8se手机不能长时间录屏怎么办)

  • 苹果7基带坏了要换主板吗(苹果7基带坏了能连接wifi吗)

    苹果7基带坏了要换主板吗(苹果7基带坏了能连接wifi吗)

  • 山西公安微信怎么解绑(微信里山西公安怎么解绑信息)

    山西公安微信怎么解绑(微信里山西公安怎么解绑信息)

  • pr在c盘的缓存文件在哪(pr缓存在哪个文件夹)

    pr在c盘的缓存文件在哪(pr缓存在哪个文件夹)

  • 怎么用爱思助手验机(怎么用爱思助手把电脑视频传到手机)

    怎么用爱思助手验机(怎么用爱思助手把电脑视频传到手机)

  • 如何关闭微博不让人看(如何关闭微博不让人看我的关注)

    如何关闭微博不让人看(如何关闭微博不让人看我的关注)

  • 如何在EXCEL中取消隐藏行(如何在excel中取最早与最晚)

    如何在EXCEL中取消隐藏行(如何在excel中取最早与最晚)

  • 小规模纳税人开普票要交税吗
  • 资源税的计税依据煤炭
  • 成本票有哪些种类
  • 税务uk开票人显示是管理员怎么改
  • 单位卖二手车需要交什么税
  • 本月无销售额,但是有进项,需要认证吗
  • 增值税发票的红章压到金额没有关系吧
  • 记账凭证拆开
  • 生产性资金是生产资料吗
  • 工程施工的借方和贷方
  • 公司购买的货架入哪个科目
  • 管理费0.5%每年
  • 二手车买卖如何交税
  • 交了定金签了合同
  • 发生销货退回增值税专用发票如何处理
  • 房地产企业土地成本分摊方法
  • 结转已到期未兑付怎么办
  • 餐费开专票有什么影响
  • 海关进口增值税计算公式
  • 车辆购置税入什么科目?
  • 开具的销项发票是否都要入收入科目吗?
  • 小规模需要公账还是私账
  • 研发人员工资加计扣除
  • 固定资产清理账面价值怎么算
  • 往年度的工资做什么科目
  • 会计计提和冲回
  • 发票两边的孔怎么做
  • 专票电话写错了怎么办
  • 支付境外服务费税务如何处理
  • 增值税和消费税的异同点
  • 借用别人的公司经营
  • 销售费用有哪些?
  • 增值税发票认证操作流程
  • 独生子女父母有意外险吗
  • linux监控系统命令
  • 电脑网络提示ip地址错误怎么办
  • 开发票金额少于付款金额差额怎么入账?
  • php多图片上传到数据库
  • 存货跌价准备的分录
  • 关于php文件的自动播放
  • php常用工具
  • 增值税进项发票丢失最新处理办法
  • echarts怎么样
  • php预处理查询
  • 热闻丨ChatGPT会替代你我吗?让它写了封情书后,我得到答案
  • php windows
  • 用友财务软件怎么下载到电脑
  • 差旅费必须填写差旅费报销单吗
  • 不动产进项税额抵扣从什么时候开始
  • 购买原材料运输费的增值税计入什么科目
  • 净值是原值减去折旧吗?
  • sql效率优化
  • 去年留抵税额会计分录
  • 基建拨款在新政府会计制度对应什么科目
  • 兼营和混合销售怎么区分
  • 小规模纳税人每个月都要抄税清卡吗
  • 企业营业外收入要交所得税吗
  • 加盖发票专用章有效什么意思
  • 预付在建工程款的会计分录
  • 公司办公室租金
  • 一般纳税人应交增值税怎么算
  • 跨年的费用
  • 账户设置的三种情况
  • sql优化的一般步骤
  • windows10 rs2
  • linux命令pwd是什么意思
  • imac家长控制
  • windows 10 mobile--移动版
  • debian怎么配置ip
  • debug命令及其基本操作
  • python中列表删除
  • unity多人语音
  • 如何进行js 的测试
  • javascript怎么学
  • 基于javascript的毕业设计选题
  • androidstudio快速入门
  • 包头市到青山区多少公里
  • etc可以抵扣吗
  • 马尼拉清关HS几位
  • 云南 过年
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设