首页 热门资讯 打砖块 打砖块小游戏

打砖块 打砖块小游戏

更新时间:2024-04-05 14:00:26 分类:热门资讯 浏览:1

这篇文章给大家聊聊关于打砖块,以及打砖块小游戏对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

玩法:\\n【点击任意位置开始】左、右箭头键或移动鼠标,球拍接住球弹起消掉砖块,知道打完砖块进入下一个关卡,总共10关,赶紧去闯关吧^^。\\n

开始游戏

<canvasid="canvas"width="960"height="520"></canvas>\\ncss

#d1{\\nborder:1pxsolidtransparent;\\nbackground-clip:padding-box,border-box;\\nbackground-origin:padding-box,border-box;\\nbackground-image:linear-gradient(toright,#fff,#fff),\\nlinear-gradient(120deg,#f7716d,#60C4FD,#EDC951,#7ac630,\\n#f7716d,#60C4FD,#EDC951,#7ac630,#7ac630,#f7716d,#60C4FD,#EDC951,#7ac630);\\nmargin:0auto;\\nwidth:960px;\\n}\\njs

window.onload=function(){//页面加载完成后执行\\nGame.setup();\\n};\\nvarctx=null;\\n//游戏主体\\nvarGame={\\ncanvas:document.getElementById('canvas'),//获取canvas画布\\nsetup:function(){\\nif(this.canvas.getContext){\\nctx=this.canvas.getContext('2d');//获取ctx\\nthis.width=this.canvas.width;\\nthis.height=this.canvas.height;\\nGame.runGame();\\nCtrl.init();//对键盘、鼠标和触摸监听时间进行初始化\\n}\\n},\\nanimate:function(){\\nGame.play=requestAnimFrame(Game.animate);\\n//调用requestAnimFrame方法,进行每秒六十次的调用\\nGame.draw();\\n},\\ninit:function(){\\nBackground.init();\\nHud.init();\\nBricks.init();\\nBall.init();\\nPaddle.init();\\n//this.animate();\\n},\\ndraw:function(){\\nctx.clearRect(0,0,this.width,this.height);//对canvas画布进行清除\\nBackground.draw();\\nBricks.draw();\\nPaddle.draw();\\nHud.draw();\\nBall.draw();\\n},\\nlevelUp:function(){\\nHud.lv+=1;\\nBricks.init();\\nBall.init();\\nPaddle.init();\\n},\\nlevelLimit:function(lv){\\nif(lv<=10){\\nreturnlv;\\n}\\nelse{\\nreturn10;}\\n},\\nrunGame:function(){\\nGame.canvas.removeEventListener('click',Game.runGame,false);\\n//移除canvas的点击监听,移除当时runGame方法的调用\\nGame.init();\\nGame.animate();\\n},\\nrestartGame:function(){\\nGame.canvas.removeEventListener('click',Game.restartGame,false);\\n//移除canvas的点击监听,移除当时restartGame方法的调用\\nGame.init();\\n}\\n};\\n\\n//得分与关卡计数器\\nvarHud={\\ninit:function(){\\nthis.lv=1;\\nthis.score=0;\\n},\\ndraw:function(){\\nctx.font='18pxhelvetica,arial';\\nctx.fillStyle='white';\\nctx.textAlign='right';\\nctx.fillText('分数:'+this.score,Game.width-15,Game.height-35);\\nctx.textAlign='right';\\nctx.font='12pxhelvetica,arial';\\nctx.fillText('关卡:'+this.lv,Game.width-15,Game.height-15);\\n}\\n};\\n//创建游戏开始和结束的画面\\nvarScreen={\\ncreate:function(){//具体绘制的方法\\nctx.fillStyle='rgba(0,0,0,0.6)';\\nctx.fillRect(0,0,Game.width,Game.height);\\nctx.fillStyle=this.textColor;\\nctx.textAlign='center';\\nctx.font='30pxhelvetica,arial';\\nctx.fillText(this.text,Game.width/2,Game.height/2);\\nctx.fillStyle='#f7716d';\\nctx.font='14pxhelvetica,arial';\\nctx.fillText(this.textSub,Game.width/2,Game.height/2+60);\\n},\\ngameover:function(score){//游戏结束画面的设置\\nthis.text='游戏结束,分数:'+score;\\nthis.textSub='点击重玩';\\nthis.textColor='#f7716d';\\nthis.create();//调用本身的图像绘制方法\\n}\\n};\\n\\n//第3步:显示背景图像\\nvarBackground={\\ninit:function(){\\nthis.ready=false;\\nthis.img=newImage();\\nthis.img.src='/default/game/dzk/background.jpg';\\nthis.img.onload=function(){\\nBackground.ready=true;\\n};\\n},\\ndraw:function(){\\nif(this.ready){\\nctx.drawImage(this.img,0,0);\\n}\\n}\\n};\\n\\n//第4步:计算矩形砖块的宽度与高度\\nvarBricks={\\ngap:6,\\ncol:10,\\nw:91,\\nh:30,\\nr:5,\\ninit:function(){\\n//this.row=3;\\n//this.row=2+Hud.lv;\\nthis.row=2+Game.levelLimit(Hud.lv);\\n//设置每关砖块的行数,调用limit方法\\nthis.total=0;\\n//对count二维数组进行赋值\\nthis.count=[this.row];\\nfor(vari=this.row;i--;){\\nthis.count[i]=[this.col];\\n}\\n},\\ndraw:function(){//对砖块绘制的方法\\n//清除被小球击中的砖块\\nvari,j;\\nfor(i=this.row;i--;){\\nfor(j=this.col;j--;){\\nif(this.count[i][j]!==false){\\n//碰撞侦测,判断小球是否与当前重绘的砖块发生重叠\\nif(Ball.x>=this.x(j)&&//对小球碰撞的砖块进行判断\\nBall.x<=(this.x(j)+this.w)&&\\nBall.y>=this.y(i)&&\\nBall.y<=(this.y(i)+this.h)){\\n//判断条件都为真时,执行下两行代码\\nthis.collide(i,j);//将碰撞的砖块的值设置为false\\ncontinue;\\n}\\nctx.fillStyle=this.gradient(i),\\n//ctx.fillRect(this.x(j),this.y(i),this.w,this.h);\\n//将砖块绘制成椭圆\\nctx.beginPath();\\nctx.moveTo(this.x(j)+15,this.y(i));\\nctx.lineTo(this.x(j)+90-15,this.y(i));\\nctx.arcTo(this.x(j)+90,this.y(i),this.x(j)+90,this.y(i)+15,this.r);\\nctx.arcTo(this.x(j)+90,this.y(i)+30,this.x(j),this.y(i)+30,this.r);\\nctx.lineTo(this.x(j)+15,this.y(i)+30);\\nctx.arcTo(this.x(j),this.y(i)+30,this.x(j),this.y(i),this.r);\\nctx.arcTo(this.x(j),this.y(i),\\nthis.x(j)+90,this.y(i),this.r);\\nctx.closePath();\\n//ctx.stroke();\\nctx.fill();\\n\\n}\\n}\\n}\\nif(this.total===(this.row*this.col)){\\n//当计数器等于当前关卡砖块总数时\\nGame.levelUp();//调用Game里面levelUp的方法(升级关卡)\\n}\\n},\\ncollide:function(i,j){\\nHud.score+=1;//如果碰撞判断成立,成绩积分+1\\nthis.total+=1;//计数器+1\\n//如果发生重叠,将其设定为false,并将小球的y坐标取负\\nthis.count[i][j]=false;\\nBall.sy=-Ball.sy;\\n},\\nx:function(row){//返回当前砖块所占用X的区间\\nreturn(row*this.w)+(row*this.gap);\\n},\\ny:function(col){//返回当前砖块所占用Y的区间\\nreturn(col*this.h)+(col*this.gap);\\n},\\n\\n//第5步:给砖块着色\\ngradient:function(row){\\nfor(;row>3;){//按行数循环将砖块着色\\nrow=row-4;}\\nswitch(row){//对相应的砖块行进行着色\\ncase0:\\nreturnthis.gradientPurple?\\nthis.gradientPurple:\\nthis.gradientPurple=\\nthis.makeGradient(row,'#bd06f9','#9604c7');\\ncase1:\\nreturnthis.gradientRed?\\nthis.gradientRed:\\nthis.gradientRed=\\nthis.makeGradient(row,'#F9064A','#c7043b');\\ncase2:\\nreturnthis.gradientGreen?\\nthis.gradientGreen:\\nthis.gradientGreen=\\nthis.makeGradient(row,'#05fa15','#04c711');\\ncase3:\\nreturnthis.gradientOrange?\\nthis.gradientOrange:\\nthis.gradientOrange=\\nthis.makeGradient(row,'#faa105','#c77f04');\\n}\\n},\\nmakeGradient:function(row,color1,color2){\\nvary=this.y(row);\\nvargrad=ctx.createLinearGradient(0,y,0,y+this.h);\\n//渐变起始颜色为color1,终止颜色为color2\\ngrad.addColorStop(0,color1);\\ngrad.addColorStop(1,color2);\\nreturngrad;\\n}\\n};\\n

源码

转载:欢迎来到本站,转载请注明文章出处https://ormcc.com/

关于本次打砖块和打砖块小游戏的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。

版权声明: 本站内容部分来源网络,版权归作者所有,如有侵权,请联系我们删除!
相关文章
阴阳师手游「V1.5」下载  阴阳师最新版下载 商务办公
导语:大家好。今天,我将向您介绍一款备受瞩目的手机游戏《——阴师洋》。“V1.5”是游戏的最新版本。让我们来看看它的特点和亮点吧! 一:阴阳师手游的介绍 尹师洋是由网易游戏开发的一款ARPG手机游戏。它以日本神话和怪兽为原型,融合了RPG、卡牌和即时战略等诸多元素。玩家在游戏中扮演阴阳角色。通过收集各种神和培养强大的团队, 与其他玩家一起战斗和合作,体验一场精彩的冒险。 : 二:阴阳师手游的特色 …
cw228 2024-04-07 11:06:47
冒险岛游戏「V1.2」下载  冒险岛游戏下载 游戏工具
导语: 大家好,今天我要为大家介绍一款备受玩家喜爱的冒险游戏——冒险岛游戏「V1.2」。这款游戏已经有多年的历史,深受广大玩家的喜爱。它拥有精美的画面、丰富的内容和独特的玩法,让玩家们沉浸在其中无法自拔。如果你也是一个冒险爱好者,那么赶快来下载这款冒险岛游戏吧! 一:冒险岛游戏的介绍 冒险岛游戏是一款由韩国Nexon公司开发的2D横版卷轴式RPG游戏。它以可爱卡通风格的画面、丰富多彩的职业和精彩…
cw228 2024-04-07 11:03:48
制皮大师「1-600」  制皮技能等级提升指南 生活服务
制皮大师《1-600》是一款专为魔兽世界玩家打造的制皮技能升级引导软件。作为魔兽世界中重要的生活技能之一,制皮技能可以让玩家制作出各种高品质的防具和装备,为自己和队友提供强大的战斗力。然而,将制皮技能提升到最高水平并不容易,需要大量的时间和精力。制皮大师《1-600》可以帮助玩家快速提升制皮技能水平,让你成为真正的制皮大师。 一:制皮1-600的介绍 制皮是魔兽世界中可以学习的生活技能。通过收集各…
cw228 2024-04-07 11:00:48
王者荣耀最有可能的异变原因「V1.3」下载  王者荣耀最有可能的异变原因下载 策略游戏
导语:在移动游戏领域,王者荣耀无疑是最受欢迎的MOBA游戏之一。然而,近期有消息称王者荣耀可能会出现一些异变,这引起了广大玩家的关注和好奇。为了满足玩家的需求,开发者推出了最新版本「V1.3」,并命名为「王者荣耀最有可能的异变原因」。这款软件可以帮助玩家更好地了解和体验可能出现的异变情况。一:王者荣耀最有可能的异变原因的介绍「王者荣耀最有可能的异变原因」是一款专门针对王者荣耀游戏而开发的软件。它…
cw228 2024-04-07 10:57:50
lol阿卡丽的神秘商店9月活动开启 9月限定皮肤抢先看 网络游戏
导语:作为一名热爱LOL的玩家,每当听到游戏中有新的活动开启,总是会激动不已。这次,我们又迎来了一个令人期待的活动——lol阿卡丽的神秘商店9月活动。这次活动将为我们带来9月限定皮肤的抢先看,让我们一起来看看这次活动有什么特色吧!一、lol阿卡丽的神秘商店9月介绍lol阿卡丽的神秘商店是LOL游戏中常见的一个活动,在每个月都会开启一次。通过参与游戏中的对局,玩家可以获得神秘宝箱,并用宝箱里的钥匙…
cw228 2024-04-07 10:54:47
7723游戏盒「V1.3」下载  7723游戏盒下载 网络游戏
导语:大家好,今天我要为大家介绍一款备受游戏玩家欢迎的游戏盒子——7723游戏盒「V1.3」。作为一名软件测评人员,我有幸体验了这款软件,并为大家带来详细的测评内容。如果你是游戏迷,那么这篇文章一定不容错过!一:7723游戏盒的介绍7723游戏盒是一款专门针对手机游戏玩家开发的应用程序。它拥有海量的手机游戏资源,涵盖了各种类型的热门游戏,让玩家可以轻松找到自己喜爱的游戏。同时,它还提供了简单易用…
cw228 2024-04-07 10:51:50
CS1.6地图包下载  CS1.6热门地图合集 影音应用
导语:CS1.6地图包是一款备受玩家喜爱的地图合集软件,其中包含了众多热门地图,为玩家提供了更加丰富的游戏体验。今天我们就来为大家介绍一下这款备受欢迎的软件——CS1.6地图包下载 CS1.6热门地图合集。一、CS1.6地图包的介绍CS1.6地图包是一款专门为《精英》游戏设计的地图合集软件,由众多游戏爱好者共同打造。它收录了大量经典的热门地图,让玩家可以在游戏中体验到不同风格和难度的挑战。无论是…
cw228 2024-04-07 10:48:51
下载酷我音乐2012正式版下载_下载酷我音乐2013正式版下载 网络游戏
【下载酷我音乐2012正式版下载】 【软件介绍】 酷我音乐是百度网盘推出的免费音乐播放器,拥有海量的正版曲库,支持在线试听和离线下载。酷我音乐还具有歌词同步功能,可将喜欢的歌词复制到歌单中,一键收藏喜欢的歌曲;同时提供丰富的歌曲分类、专辑列表、歌手列表、电台等特色功能,让您享受一站式的音乐体验。 【软件特点】 1、全新界面设计,更简洁易用! 2、智能搜索,轻松找到你想听的歌! 3、高清音质,震撼你…
cw228 2024-04-07 10:45:46
棋乐游戏大厅下载「V1.3」棋乐游戏大厅下载 策略游戏
导语:作为一名游戏爱好者,我时常寻找各种有趣的游戏来消磨时间。最近,我了一款非常优秀的游戏——棋乐游戏大厅。它拥有丰富多样的棋类游戏,并且还提供了V1.3版本的下载服务,让我可以随时随地畅玩我的最爱。下面就让我们一起来看看这款棋乐游戏大厅吧!一、棋乐游戏大厅的介绍棋乐游戏大厅是一款了多种经典棋类游戏的,包括象棋、国际象棋、围棋、五子棋等。它不仅具备简洁明了的界面设计,还拥有流畅的操作体验和精美细…
cw228 2024-04-07 10:42:46
热血传奇sf1.76「V1.3」下载  热血传奇sf1.76下载 策略游戏
导语:热血传奇sf1.76是一款备受玩家喜爱的经典游戏,它具有激烈的战斗场景、多样化的职业选择和丰富的游戏内容。现在,最新版本V1.3已经上线,让我们一起来看看这次更新带来了哪些惊喜吧!一:热血传奇sf1.76的介绍热血传奇sf1.76是一款2D横版游戏,它以中世纪欧洲为背景,玩家可以选择不同职业进行冒险。游戏拥有精美的画面和流畅的操作体验,让玩家沉浸在一个充满魔幻色彩的世界中。二:热血传奇sf…
cw228 2024-04-07 10:40:02