博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Flaapy Bird项目笔记
阅读量:5874 次
发布时间:2019-06-19

本文共 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.land
2.互相通信简单,比如鸟要得到管子的位置,通过game类中转即可
3.game类可以一统每个演员new出来的时间点,game就能控制当图片读取完毕之后再new大地,当帧数%70 == 0的时候 再new管子

小鸟物理下落模型 :动画间隔时间是一致的,但是:

1.小鸟的变化增量,每帧比每帧大,大二次关系的一个数
2.小鸟的位置与帧数成二次关系

转载于:https://blog.51cto.com/13550695/2117755

你可能感兴趣的文章
php中的continue用法
查看>>
Android小游戏应用---撕破美女衣服游戏
查看>>
TextKit简单示例
查看>>
网格最短路径算法(Dijkstra & Fast Marching)(转)
查看>>
最短路径算法-Dijkstra算法的应用之单词转换(词梯问题)
查看>>
软链接和硬链接详解
查看>>
HTML5 video 视频标签 常用属性
查看>>
深入理解javascript对象系列第一篇——初识对象
查看>>
Redis_master-slave模式
查看>>
qemu安装
查看>>
多媒体开发之rtmp---rtmp client 端的实现
查看>>
3.使用Maven构建Web项目
查看>>
iView实现自定义Modal
查看>>
如何在云帮上配置https
查看>>
JQuery干货篇之插入元素
查看>>
Imperva开源域目录控制器,简化活动目录集成
查看>>
可观察性驱动开发,探索未知之地
查看>>
Webpack构建兼容IE8
查看>>
Deis发布1.4版本,支持Microsoft Azure
查看>>
解读2016之Golang篇:极速提升,逐步超越
查看>>