赞 | 13 |
VIP | 118 |
好人卡 | 28 |
积分 | 12 |
经验 | 35779 |
最后登录 | 2017-7-6 |
在线时间 | 1564 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 1175
- 在线时间
- 1564 小时
- 注册时间
- 2008-7-30
- 帖子
- 4418
|
怪我当时没写清楚。refresh一般涉及到图像重绘,图像重绘会占用较多资源。请这样想:假设我们绘制一个血条需要耗费20毫秒,如果每帧都要重绘的话,不但擦除、绘制又浪费20毫秒,而且绘制出来的效果也更原来一样。因此很多时候实用update进行逻辑层面上的判断更新(数据是否有变动),如果发现数据有变动,比如血量减少了update就会调用refresh方法来进行重绘。这样比较节省系统资源和时间。
另外,update方法是被写死了的(父类模板方法中指明了每帧都会调用窗口的update方法)。refresh则一般是建立时调用。
就功能上来说,名字并不对方法产生影响。但是由于上层抽象中就是使用的refresh这个名字,你如果要修改的话就得修改很多地方。
|
|