楼主: 喵呜喵5

[已经解决] 关于refresh的用法…

[复制链接]
梦石
0
星屑
1580
在线时间
1564 小时
注册时间
2008-7-30
回帖
4207

贵宾

发表于 2013-10-1 13:35:43 | 显示全部楼层
怪我当时没写清楚。refresh一般涉及到图像重绘,图像重绘会占用较多资源。请这样想:假设我们绘制一个血条需要耗费20毫秒,如果每帧都要重绘的话,不但擦除、绘制又浪费20毫秒,而且绘制出来的效果也更原来一样。因此很多时候实用update进行逻辑层面上的判断更新(数据是否有变动),如果发现数据有变动,比如血量减少了update就会调用refresh方法来进行重绘。这样比较节省系统资源和时间。

另外,update方法是被写死了的(父类模板方法中指明了每帧都会调用窗口的update方法)。refresh则一般是建立时调用。

就功能上来说,名字并不对方法产生影响。但是由于上层抽象中就是使用的refresh这个名字,你如果要修改的话就得修改很多地方。

See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部