位置: 编程技术 - 正文

javascript HTML5 canvas实现打砖块游戏

编辑:rootadmin

推荐整理分享javascript HTML5 canvas实现打砖块游戏,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

本文实例编写的一个小游戏,基于HTML5中的canvas。游戏主要是小球反弹击打小方块。在代码中主要实现了小方块的生成,键盘键事件的监听,小球的移动和碰壁之后的反弹以及怎样消除小方块等方法。代码使用到了一个js脚本库

游戏开发流程:

1、创建画布:

将画布放在div标签里面,这样可以控制画布居中的位置,再对div标签加上一些样式比如border和border-radius,这样一来使其看上去像手机,利于观看。

2、创建移动的小木块:

定义一个可以用于移动的小方块,该移动小方块包含如下的属性,坐标位置,小方块的长和宽和小方块每次移动的距离。

3、创建用于击打的小球:

定义一个用于移动和击打小方块的小球,该小球包含如下的属性,小球的做坐标位置,半径,在x轴和y轴的速度。其中x轴和y轴的速度是为小球计算移动的方向和移动之后的坐标值。

javascript HTML5 canvas实现打砖块游戏

4、生成一系列的小方块:

生成一系列的小方块用于被小球击打,小球的生成主要是根据画布的大小和小方块的坐标与长宽以及各个小方块的x轴和y轴的间隔。

5、编写移动小方块的移动方法:

移动小方块的实现,首先需要监听获得键盘的事件,之后再根据获得的键盘事件来分别处理来向那个方向移动,在此处我分别定义了四个方向,目的是为了只在左右移动可能不能完全消灭小方块,在移动的过程之中还要判断移动小方块的位置,以防止是否已经出界。在此处我分别定义了四个方法来处理各个方向的移动。

6、编写小球移动的方法以及碰壁和接触移动小方块反弹的方法:

反弹:小方块的反弹,主要改变其x轴和y轴方向的速度,由于我们定义的是匀速运动,为此我们只需要改变其速度的方向。移动:根据小球的速度和指定的移动大小来计算出新的小球坐标,之后再绘制新的小球。反弹图片实例:(对于触碰墙壁反弹类似,就不多说)

小球移动的代码:

7、小球击打小方块,小方块消失的方法:

击打:小球击打小方框,主要判断小球和小方块的坐标位置即可。注意此处将会分别判断y轴和x轴将小球的击打的小方块限定在一个区域里面。小时:击中当前小方块之后改变其长宽,之后重绘小方块即可,由于当前的小方块的长宽都为0,即绘制之后的小方块没有。图解击打的坐标变化:

8、判断游失败和成功的方法:

失败:是要小球的掉到最低端即小球的Y坐标大于画布的Y坐标 就是失败;成功:计数判断是否消灭的小方块数是否和指定的小方块数相同。

标签: javascript HTML5 canvas实现打砖块游戏

本文链接地址:https://www.jiuchutong.com/biancheng/373391.html 转载请保留说明!

上一篇:JS简单编号生成器实现方法(附demo源码下载)(js自动生成序号)

下一篇:JS中的forEach、$.each、map方法推荐(js中的filter方法)

  • 小规模纳税人发票可以抵扣吗
  • 商品流通企业都交什么税
  • 公对公打款开票
  • 金税盘数据迁移失败
  • 增值税普票没有税号可以开吗
  • 生产领用周转材料
  • 资金收益率计应收账款吗
  • 其他应收款增加银行存款减少的原因
  • 报验户与正常户的区别
  • 没有认证怎么办
  • 企业所得税的常设机构
  • 购销合同赔偿比例一般多少
  • 小规模纳税人转一般纳税人
  • 生物性资产折旧吗
  • 公益性捐赠可以结转几个年度
  • 土地出让金评估费怎么算
  • 个人以房产进行交易
  • 如何理解递延所得税资产和负债计算
  • 房地产增值税发票有什么用
  • 固定资产更换配件怎么界定是否满足资本化
  • 生产药酒的厂家
  • 什么费用需要进行摊销
  • 公司购买销售材料怎么写会计分录?
  • 建筑企业管理部门
  • 三类不良行为
  • 委托加工物资的消费税
  • 营改增后的税率
  • 银行票据abs付款的几种方式
  • macbookpro安装dmg
  • 公司认缴出资怎么交税
  • 自创商誉的确认
  • 其他应付款不用付了怎么处理
  • 应交增值税的会计科目怎么做
  • 高新技术企业加计5%
  • linux xmrig
  • PHP:zip_entry_name()的用法_Zip函数
  • 进项税额转出会造成增值税应纳税额
  • php的项目
  • php提供的三种在函数内使用全局变量的方式
  • python二叉树遍历算法
  • 工商银行代发工资多久到账
  • 送货运输费用税率
  • 预付账款的适用范围
  • 完美破解什么意思
  • python time.ctime()如何做时间加减法
  • 企业借入长期借款的用途主要有
  • 进销存的原理
  • 财政部监制的收据没有税号可以入账吗
  • 公司成立怎么说
  • sql里面union 和union all区别
  • mysqlreport显示Com_中change_db占用比例高的问题的解决方法
  • 月初包括哪几天
  • 固定资产报废能否继续使用
  • 在建工程中的业务招待费转无形资产后所得税如何处理
  • 个体工商户缴纳社保属于职工社保吗
  • 应付账款二级科目可以是个人吗
  • 企业申请支付宝账号步骤
  • 摊销本月的广告费合理吗
  • 帐簿凭证的管理方法
  • sqlserver2000数据库安装教程
  • 按关键字13,24,37,90,53,34
  • 注册表的使用
  • linux硬件设备分为
  • centos怎么安装软件包
  • linux怎么切到桌面
  • 毕竟近义词语
  • centos ssh升级
  • shadersmod
  • unity 3d教程
  • linux版本控制软件
  • jquery.form
  • js 小数取整的函数怎么写
  • jQuery+PHP+MySQL实现无限级联下拉框效果
  • unity打包安卓apk
  • 浅谈建筑地基基础加固施工技术亲
  • python字符串的编码规则
  • jquery生成元素
  • JAVAscript字符串类型单引号和双引号意一样吗
  • jquery 动态添加元素
  • 个人所得税追缴很快就缴清了还会被罚款吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设