用html5实现的flappy-bird

本文介绍了一个新手如何使用HTML5的canvas元素,结合JavaScript实现Flappy Bird游戏的过程。作者通过定义bird和pipe对象,实现了小鸟的跳跃和水管的绘制。尽管代码量相对较多,但对于学习者来说,这种实现方式更利于理解和维护。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

可能网上早就有几个flappy-bird的html5版本啦,到这个时候flappy-bird可能也没有之前那么火了,但是作为一个新手,自己思考,自己动手写一个flappy-bird的demo还是很有成就感的。

flappy-bird的html5版无非是通过canvas来画的,可能网上也有webgl版本的,但是我貌似没见过,如果你发现了,希望告诉我一声,咱们一起讨论讨论。之前在微博上看到有大神用60几行就写出了一个demo,这让我写完之后发现自己的demo有将近200多行的代码,瞬间让我对大神们膜拜的五体投地,当然我的代码也可以精简到几十行,不过那样写出来,不便于维护,对于新人也很难看懂。

html代码我就不写了,大家也都知道,如果你连html代码也需要的话,那你接下来也就没必要看了,还不如直接跳转到w3school.com.cn。

接下来就是重点的js了,至于css吗?你知道的css对于canvas是无效的,那我干嘛还写css呢,这不是浪费生命吗

一开始先是定义bird对象,建议用构造函数的方法,当然你也可以用工厂函数,这没什么关系的

var Bird = function (param) {
				this.x = param.x || 0;
				this.y = param.y || 0;
				this.w = param.w;
				this.h = param.h;
				this.yDir = param.yDir || 1;
				this.img = param.img;

				return this;
			}

创建一个bird的构造函数,传入参数param 并返回this,参数param是相关的配置参数。

接下来是bird的draw属性,这个属性主要是将bird给画出来

Bird.prototype.draw = function () {

				ctx.drawImage(this.img, 0, 0, this.img.width, this.img.height, this.x, this.y, this.w, this.h);

				return this;
			};

ok,就这么简单,只是简单的调用canvas的drawImage方法

接下来就是bird的jump属性,这个属性主要是控制bird的下滑,模仿小鸟的下降


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值