FlaapyBird项目笔记-创新互联
最近做了个像素鸟小游戏,整理下笔记心得:
定时器:不管页面上有多少个演员,只有一个定时器,这个定时器的业务超级简单:
setInterval(function(){
//让所有演员更新
//让所有演员渲染
},20)
1.所有的演员都必须提供update() render()方法,这实际上叫做面向接口编程。Java中,“类”是一种比较抽象的概念,比"类"还抽象一层的东西叫做接口,就是制定必须有哪些方法的特殊类,所有的类都必须实现这两个方法。JS中没有接口这个概念,但是我们可以用Java类比,要求所有的演员都必须有update render的方法,提供相应的实现
2.game类必须要维护一个演员清单,所有的演员在new出来的时候必须注册,所谓的注册就是把自己加入到game类的演员清单中,this.actors = [ ] game.actors.push(this)
中介者模式:一个对象处于中央控制管理地位,其他所有对象都是自己的属性
背景、大地、鸟、分数、按钮。。。都是game的属性,这样做的好处:
1.全局作用域干净,只有game一个全局对象,小鸟在哪?game.bird 大地在哪?game.land
2.互相通信简单,比如鸟要得到管子的位置,通过game类中转即可
3.game类可以一统每个演员new出来的时间点,game就能控制当图片读取完毕之后再new大地,当帧数%70 == 0的时候 再new管子
小鸟物理下落模型 :动画间隔时间是一致的,但是:
1.小鸟的变化增量,每帧比每帧大,大二次关系的一个数
2.小鸟的位置与帧数成二次关系
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
本文标题:FlaapyBird项目笔记-创新互联
文章地址:http://pwwzsj.com/article/eosde.html