本文共 725 字,大约阅读时间需要 2 分钟。
最近做了个像素鸟小游戏,整理下笔记心得:
定时器:不管页面上有多少个演员,只有一个定时器,这个定时器的业务超级简单: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.land2.互相通信简单,比如鸟要得到管子的位置,通过game类中转即可3.game类可以一统每个演员new出来的时间点,game就能控制当图片读取完毕之后再new大地,当帧数%70 == 0的时候 再new管子小鸟物理下落模型 :动画间隔时间是一致的,但是:
1.小鸟的变化增量,每帧比每帧大,大二次关系的一个数2.小鸟的位置与帧数成二次关系转载于:https://blog.51cto.com/13550695/2117755