构造函数和实例
用new调用函数会发生的4个事情:
① 秘密创建一个空白的对象
② this指向这个对象
③ 执行函数里面的所有语句
④ 隐式返回这个上下文对象
结果就是用new调用函数,会得到一系列拥有同样属性群的对象,我们称他们是同一类对象。
这个函数叫做构造函数,构造函数的命名首字母大写,但是一定要记住,一个函数是不是构造函数,只看它有没有被new来调用。
我们说有一个三角关系:
Canvas深入
2.1 canvas
2.2 实现运动
canvas有一个重要性质:画到屏幕上了,就立刻点阵化了。
所以,画到屏幕上的圆,是不可能移动的。如果非要让这个圆移动,必须重画一个。
利用人类的视觉暂留,形成动画。
动画原理:
清屏 → 重绘 → 清屏 → 重绘 → 清屏 → 重绘 → 清屏 → 重绘 → 清屏 → 重绘→ 清屏 → 重绘
2.3 实现反弹
不面向对象:
使用面向对象思维:就是将所有的全局信号量都不要了,都交由对象自己管理,自己知道如何渲染自己、自己知道如何处理撞边的情况。
面向对象编程方法:编写一个个类,使这些类的实例能够自治、自洽、配合工作,这样的编程形式,就是面向对象。
上升到面向对象
思维模式要上升到面向对象。
面向对象的本质就是自治,就是将x、y、color、r、dx、dy不再是全局信号量了,而是每个对象的属性了。
每个对象在update的时候,只需要参考自己的属性即可,就不乱了。
Oriented Object,面向对象
小球类:
定时器:
使用图片
4.1 基本使用
在canvas中使用图片,必须经过下面的几条语句折腾:
4.2 图片加载器
当图片都加载完毕之后,再运行定时器。
这个轮子的功能是依次加载每张图片,当图片都加载完毕后开始定时器。