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

  • QQ群快速引流的5大绝招!(qq群引流群)

    QQ群快速引流的5大绝招!(qq群引流群)

  • 转转未成年可以买东西吗(转转未成年可以实名认证吗)

    转转未成年可以买东西吗(转转未成年可以实名认证吗)

  • 小米9充电变慢(小米充电变慢了是线的原因还是头的原因)

    小米9充电变慢(小米充电变慢了是线的原因还是头的原因)

  • 你的账号存在异常风险,暂时不能使用该功能(你的账号存在异常无法参与活动)

    你的账号存在异常风险,暂时不能使用该功能(你的账号存在异常无法参与活动)

  • 激萌APP怎么把头像做成卡通(激萌app怎么把头像去掉)

    激萌APP怎么把头像做成卡通(激萌app怎么把头像去掉)

  • 怎么退出拼多多(怎么退出拼多多省钱月卡)

    怎么退出拼多多(怎么退出拼多多省钱月卡)

  • office图标变成白色(office图标变成白底的)

    office图标变成白色(office图标变成白底的)

  • 小米手机缓存数据可以清除吗(小米手机缓存数据怎么清理)

    小米手机缓存数据可以清除吗(小米手机缓存数据怎么清理)

  • qq视频会不会被第三方看到(qq视频会不会被监视)

    qq视频会不会被第三方看到(qq视频会不会被监视)

  • 苹果x屏幕忽亮忽暗(苹果x为啥屏幕忽亮忽暗)

    苹果x屏幕忽亮忽暗(苹果x为啥屏幕忽亮忽暗)

  • 重启电脑一直显示正在准备windows(重启电脑一直显示正在重新启动怎么办)

    重启电脑一直显示正在准备windows(重启电脑一直显示正在重新启动怎么办)

  • 快手可以设置不让某人看吗(快手可以设置不看好友的作品吗)

    快手可以设置不让某人看吗(快手可以设置不看好友的作品吗)

  • 苹果官网发货要多久(苹果官网发货要过海关吗)

    苹果官网发货要多久(苹果官网发货要过海关吗)

  • protruly是什么手机(prosperous是什么意思?)

    protruly是什么手机(prosperous是什么意思?)

  • 文档页面变小怎么调大(我的文档页面变小了,怎么调大?)

    文档页面变小怎么调大(我的文档页面变小了,怎么调大?)

  • 手机网络突然很卡怎么回事(手机网络突然很差怎么回事)

    手机网络突然很卡怎么回事(手机网络突然很差怎么回事)

  • 什么叫pdf格式(什么叫pdf格式word版本)

    什么叫pdf格式(什么叫pdf格式word版本)

  • keep如何投屏步骤(keep 怎么投屏)

    keep如何投屏步骤(keep 怎么投屏)

  • 电脑权限限制怎么解决(电脑权限限制怎么解决删除)

    电脑权限限制怎么解决(电脑权限限制怎么解决删除)

  • iphone 11支持5g吗(iphone12支持5g吗)

    iphone 11支持5g吗(iphone12支持5g吗)

  • ubuntu卸载软件(Ubuntu卸载软件包)

    ubuntu卸载软件(Ubuntu卸载软件包)

  • 苹果推送OSX10.11.6正式版/macOS Sierra开发者预览版Beta3固件更新(苹果推送改不掉三全音)

    苹果推送OSX10.11.6正式版/macOS Sierra开发者预览版Beta3固件更新(苹果推送改不掉三全音)

  • dslmon.exe是什么进程 dslmon进程的查询(dsm是什么文件)

    dslmon.exe是什么进程 dslmon进程的查询(dsm是什么文件)

  • aptezbp.exe是安全的进程吗 aptezbp进程信息查询(apkpure 安全)

    aptezbp.exe是安全的进程吗 aptezbp进程信息查询(apkpure 安全)

  • 使用Session和cookie会话对象实现简单购物车功能(超详细)(使用session的步骤)

    使用Session和cookie会话对象实现简单购物车功能(超详细)(使用session的步骤)

  • 个人劳务费的免税政策
  • 收到扶贫款怎么做会计分录
  • 资产损失税前扣除管理办法2019
  • 年初未分配利润借方增加还是减少
  • 简易征收和简易计税的区别
  • 实物性投资资产
  • 多付的货款怎么追回
  • 关税的增值税计算公式
  • 企业维修厂房购进材料怎样做账务处理?
  • 哪些燃料油不征消费税了
  • 技术服务费属于无形资产吗
  • 装卸费可以抵扣销项税额吗
  • 纳税人在同一地级行政范围内跨县经营
  • 所得税费用税率规定
  • 工会发票的纳税识别号
  • 增值税如何确认
  • 公务用车用油
  • 收入纳税明细怎么打印
  • 建筑挂靠管理费用如何账务处理?
  • 固定资产折旧和累计折旧的区别
  • 什么发票可以抵成本
  • 所得税免税项目
  • 不动产进项抵扣新政策2022
  • 固定资产折旧有几类
  • 工会经费的银行怎么入账
  • 在window中
  • 华硕主板bios更新后开不了机
  • 土地使用税如何终止申报
  • 如何在Mac上更改我的Apple ID
  • 增值税进项税转出什么意思
  • php5升级到php7
  • 购货折让会计分录
  • php返回对象
  • php实现的浏览器有哪些
  • php连接mysql数据库的几种方式及区别
  • thinkphp框架怎么用
  • 数据库系统课程学什么
  • 向梵高致敬油画
  • opencv项目开发实战
  • Node.js安装过程
  • 一维频率分布表
  • 让我用用你的计算机
  • php如何post
  • 帝国cms功能
  • 个体户一直未申报会怎样
  • 生产过程半成品报废
  • 财务报销中的冲销是啥意思
  • 劳务分包的三种形式
  • 产品的运输费用分录
  • 其他应付款转出的会计分录
  • 研发费用摊销方法
  • 电子设备折旧残值率
  • 项目前期的研发费用
  • 一般纳税人购买汽车会计分录
  • 土地使用权作为存货怎么入账
  • 营业执照类型有限责任公司(自然人独资)是什么行业类别
  • MySQL replace into 语句浅析(一)
  • 编写高质量代码改善JAVA程序的151个建议
  • mysql数据库迁移到达梦
  • mysql 5.1.6
  • 播放winner
  • 苹果手机
  • win7退出家庭组
  • win8怎么进去安全系统
  • ubuntu 2021
  • 安卓接入点
  • 项目部不足和改进
  • python获取命令行执行命令的输出
  • Node.js中的核心模块包括哪些内容?
  • js nextSibling属性和previousSibling属性概述及使用注意
  • jquery中validate
  • unity3D游戏开发
  • 安装了python2.7和3.6怎么切换版本
  • jquery给按钮添加事件
  • jquery field
  • 国税总局201439号公告
  • 重庆黄桷垭在什么地方
  • 国家税务总局黑龙江电子税务局下载
  • 青岛振兴税务师招聘
  • 北京地税查询官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设