FlaapyBird项目笔记
最近做了个像素鸟小游戏,整理下笔记心得:
定时器:不管页面上有多少个演员,只有一个定时器,这个定时器的业务超级简单:
setInterval(function(){
//让所有演员更新
//让所有演员渲染
},20)
1.所有的演员都必须提供update() render()方法,这实际上叫做面向接口编程。Java中,“类”是一种比较抽象的概念,比"类"还抽象一层的东西叫做接口,就是制定必须有哪些方法的特殊类,所有的类都必须实现这两个方法。JS中没有接口这个概念,但是我们可以用Java类比,要求所有的演员都必须有update render的方法,提供相应的实现
2.game类必须要维护一个演员清单,所有的演员在new出来的时候必须注册,所谓的注册就是把自己加入到game类的演员清单中,this.actors = [ ] game.actors.push(this)
成都创新互联公司欢迎联系:13518219792,为您提供成都网站建设网页设计及定制高端网站建设服务,成都创新互联公司网页制作领域十多年,包括成都iso认证等多个领域拥有多年的网站制作经验,选择成都创新互联公司,为企业锦上添花。
中介者模式:一个对象处于中央控制管理地位,其他所有对象都是自己的属性
背景、大地、鸟、分数、按钮。。。都是game的属性,这样做的好处:
1.全局作用域干净,只有game一个全局对象,小鸟在哪?game.bird 大地在哪?game.land
2.互相通信简单,比如鸟要得到管子的位置,通过game类中转即可
3.game类可以一统每个演员new出来的时间点,game就能控制当图片读取完毕之后再new大地,当帧数%70 == 0的时候 再new管子
小鸟物理下落模型:动画间隔时间是一致的,但是:
1.小鸟的变化增量,每帧比每帧大,大二次关系的一个数
2.小鸟的位置与帧数成二次关系
网站标题:FlaapyBird项目笔记
地址分享:http://scyanting.com/article/ipgoed.html