位置: IT常识 - 正文

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

发布时间:2024-01-16
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中字体样式设置)

  • 人工智能有多重含义包括(人工智能多重含义)

    人工智能有多重含义包括(人工智能多重含义)

  • 苹果手机四个摄像头是什么型号(iphone4个摄像头叫什么)

    苹果手机四个摄像头是什么型号(iphone4个摄像头叫什么)

  • 11怎么开机(1加11怎么开机)

    11怎么开机(1加11怎么开机)

  • 微信群投票真的匿名吗(微信群投票真的匿名吗知乎)

    微信群投票真的匿名吗(微信群投票真的匿名吗知乎)

  • 电脑网线插路由器哪个口(电脑网线插路由器上就能用吗)

    电脑网线插路由器哪个口(电脑网线插路由器上就能用吗)

  • pot_al00a是华为什么型号(华为pot -al00a什么型号)

    pot_al00a是华为什么型号(华为pot -al00a什么型号)

  • 在快手上把别人加入黑名单别人会知道吗(在快手上把别人的身份证发上去并骂人)

    在快手上把别人加入黑名单别人会知道吗(在快手上把别人的身份证发上去并骂人)

  • 移动卡停机为什么显示无服务(移动卡停机后就没用了,会自动注销吗)

    移动卡停机为什么显示无服务(移动卡停机后就没用了,会自动注销吗)

  • 红米k20什么时候上市(红米k20什么时候生产的)

    红米k20什么时候上市(红米k20什么时候生产的)

  • 苹果11在阳光下怎么都看不清(苹果11在阳光下亮度最高了还是看不清)

    苹果11在阳光下怎么都看不清(苹果11在阳光下亮度最高了还是看不清)

  • iPad?Air2与iPad?mini3有什么区别(ipadair2与ipadmini5哪个好)

    iPad?Air2与iPad?mini3有什么区别(ipadair2与ipadmini5哪个好)

  • 苹果x下载软件面容识别在哪设置(苹果X下载软件一直转圈不下载怎么回事)

    苹果x下载软件面容识别在哪设置(苹果X下载软件一直转圈不下载怎么回事)

  • 手机有hd图标怎样去除(手机hd图标怎么打开)

    手机有hd图标怎样去除(手机hd图标怎么打开)

  • 抖音短视频播放失败(抖音短视频播放量怎么算)

    抖音短视频播放失败(抖音短视频播放量怎么算)

  • 嘀嗒顺风车提现多久到账(嘀嗒顺风车提现到支付宝还是银行卡)

    嘀嗒顺风车提现多久到账(嘀嗒顺风车提现到支付宝还是银行卡)

  • 微信怎么看草稿箱(微信草稿对方能看到吗)

    微信怎么看草稿箱(微信草稿对方能看到吗)

  • 华为mate30有红外功能吗(华为mate30有红外线遥控吗)

    华为mate30有红外功能吗(华为mate30有红外线遥控吗)

  • 苹果高通基带怎么查(苹果高通基带怎么安装)

    苹果高通基带怎么查(苹果高通基带怎么安装)

  • 手机显示未接通是什么意思(手机显示未接来电)

    手机显示未接通是什么意思(手机显示未接来电)

  • iphone11 pro和max区别(苹果11pro和max)

    iphone11 pro和max区别(苹果11pro和max)

  • 55寸电视耗电量一天多少度(55寸电视耗电量是多少瓦)

    55寸电视耗电量一天多少度(55寸电视耗电量是多少瓦)

  • Linux 下使用 C++ 实现的 Web 文件服务器(linux运行c++程序)

    Linux 下使用 C++ 实现的 Web 文件服务器(linux运行c++程序)

  • dedecms织梦图片上传自动生成绝对路径方法(织梦图片集如何调用)

    dedecms织梦图片上传自动生成绝对路径方法(织梦图片集如何调用)

  • 网银制单了没有审核有影响吗
  • 货运代理费属于运费还是其他
  • 投资收益可以计入营业收入吗
  • 营改增前未完工的老项目可以开专票吗
  • 发票冲红重开摘要如何写合适?
  • 应收账款计提坏账后收回
  • 权益净利率如何算
  • 为员工买的人寿保险怎么做账
  • 不预缴会怎么样
  • 电子营业执照可以开通抖音小店吗
  • 航天信息服务费的会计分录
  • 股权案例分析2020
  • 租赁收入账务处理
  • 弥补以前年度亏损从哪里取数
  • 股权购买会计分录
  • 公司注销后是不是就不再接受诉讼
  • 物业公司的跨期收费如何确认收入?
  • 项目地预交企业所得税分录如何处理?
  • mac打印机状态暂停怎么处理
  • Win11 Build 22000.132 预览版 ISO 官方镜像下载与安装
  • 合伙企业收到分红需要交所得税吗
  • php utf8转gb2312
  • uni app
  • aspnet_admin.exe进程是安全的吗 aspnet_admin进程信息查询
  • win7纯净版系统之家
  • chcfg.exe是什么
  • 帝国cms移动端
  • PHP:mcrypt_cbc()的用法_Mcrypt函数
  • vue手机端
  • vite vuex
  • 小规模企业要交哪些税种
  • 勘察测绘公司是做什么的
  • nginx部署前后端项目
  • 税审报告什么时候需要
  • 报销用别的发票抵用怎么入账
  • 应收利息的罚息是复利吗
  • 公司员工抽奖活动
  • 公司帐户转到法人私卡备用金行吗
  • 车辆购置税是税前还是税后
  • 坏账准备计提范围包括
  • 关于python序列类型
  • 税前利润包含
  • 小规模纳税人是简易计税还是一般计税
  • sql server2005查询
  • 公司注销后实收资本要交税吗
  • 公司用卫生纸是干什么的
  • 委托代销受托方会计分录
  • 收到对方公司的货款怎么记账
  • 哪些地方中国没有收复
  • 租赁存在的原因有哪些
  • 冲销管理费用如何做分录
  • 固定资产抵扣影响税负
  • 存货取得长期股权投资
  • 收到股东投资如何做账
  • 困难补助属于兜底政策吗
  • 本期盈余结转会亏损吗
  • 电子发票开具流程?
  • 5000元固定资产一次性计提折旧
  • 数据库中alter table的用法
  • vista server
  • windows xp设置屏保密码
  • 如何避免系统性风险
  • xp系统硬盘管理
  • windows xp桌面图标
  • windows远程连接是什么协议
  • 苹果手机
  • linux查看sh
  • linux跨服务器调用shell脚本
  • bat批处理视频教程
  • js对话框确定事件
  • 安装下载应用
  • python处理文本文件代码优化
  • python语言中
  • Javascript字符串奇数位替换
  • android sdk在哪下载
  • python flask debug
  • 湖北生育登记网上服务大厅官网查询
  • 电子普通发票怎么查验真伪
  • 为什么需要报税
  • 中建七局企业精神是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号