位置: 编程技术 - 正文

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方法)

  • 个人所得税中应纳税所得额高好还是低好
  • 增值税专用发票可以开电子发票吗
  • 职工享受工伤津贴的条件
  • 非营利组织企业所得税
  • 一般纳税人开具的普票可以抵扣吗
  • 增值税发票综合服务平台错误代码35
  • 变动成本法的计算公式有哪些
  • 职工受到工伤后应该怎么办
  • 计提工资和实际发放工资必须一致吗
  • 单位发放奖金如何做账
  • 小规模纳税人可以开数电专票吗
  • 年度利润总额的12%
  • 报销退回多余款项怎么开收据
  • 存货盘盈与盘亏
  • 虚假享受税收优惠政策
  • 税务代理有哪些岗位
  • 基本账户代发代扣怎么操作
  • 专家评审费需要多少钱
  • 计划成本法如何计算材料成本差异率
  • 微众银行账户验证账户0019向您尾号677账户
  • 进口增值税内销可以抵扣吗
  • 存货计价方法的选择对利润表中的项目没有影响
  • 拿回费用票普票忘记入账怎么办?
  • 免租金期间交增值税吗
  • 实际利率法是哪一章的知识
  • 1697510586
  • 深度操作系统的窗口管理器
  • 人力资源管理师考试时间
  • 装电脑系统的方法和步骤
  • win10关闭自动更新方法永久
  • 厂房押金收据范本
  • 减免税款怎么做账务处理
  • 中国国防科技大学 博士
  • 一般纳税人简易征收3%可以开专票吗
  • 考研408怎么样
  • php bind_result
  • 进项税额转出和不抵扣的区别
  • 购买方未抵扣,销售方申请红字
  • 上月的会计分录做错了
  • 嵌套循环语句
  • Python中tkinter的 Variable类
  • 发票过期未认证可以用吗
  • 研发支出放在资产负债表哪里
  • 新成品油发票开具的模块解密是?
  • 基本工资是包括哪些内容
  • 网上纳税申报有时间限制吗
  • sqlserver 数据库加密
  • 增值税普通发票和电子普通发票的区别
  • 认缴股权的转让
  • 法定盈余公积的主要用途
  • 应付账款已付款应该怎样记账
  • 加盟费收入如何入账
  • 固定资产盘亏账务处理的问题
  • 航天金穗服务费可以抵扣吗
  • 哪些凭证是有效凭证
  • 开空头发票犯法吗
  • 凭发票报销的通知简单
  • 餐饮招待怎么入账
  • 商业企业固定资产一次性扣除
  • 删除mysql数据库中表的内容命令
  • 获取linux系统版本
  • win10安装apache服务失败
  • macbook怎么把通知关掉
  • xwizard.exe是什么
  • win10怎么关掉
  • 如何删除win7系统自带游戏软件
  • forfiles命令详解
  • unity怎么用
  • js按位运算符
  • node.js教学
  • 创建一个新用户user1,设置其主目录为/home/user1:
  • shell脚本 su
  • javascript快速入门
  • 山西省地方税务局 先进 文明 李家庄税务所
  • 东莞网上办税服务厅
  • 广西税务12366怎么查询发票
  • 被标记为广告推销的电话能接吗
  • 国企划拨用地改制处置
  • 水产品企业所得税8行免税填税额还是利润
  • 马来西亚到中国机票多少钱
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设