高级执事
阅读权限 2
积分 3660
侠名
UID 18
主题
帖子
精华
好友
银子
金子
贡献
威望
推广
活跃
荣耀
注册时间 2017-11-7
最后登录 1970-1-1
在线时间 小时
个人主页
|
【游客模式】——注册会员,加入11RIA 闪客社区吧!一起见证Flash的再次辉煌……
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 TKCB 于 2018-12-14 13:51 编辑
转载:9RIA游戏开发者社区(天地会)
作者:iloveas(原天地会大神)
总目录:[原创]AS3游戏开发实用技巧汇总
这又是一个蛋疼的问题:在实现装备或者背包物品拖动的功能时,我们可能会感觉到被拖动的对象移动的不是那么流畅,总是一卡一卡的。但检查游戏的cpu和内存占用却没发现任何异常,无法找到问题所在。对于打击感要求较高的动作游戏来说,类似的问题就是键盘操作响应较慢,延时较长,导致用户体验变差。
这时候没准就是帧频的问题了,可能的话,把游戏的帧频降低到1fps,看看这些操作是不是变的更卡。如果不是,那接下来的内容估计对你没太大帮助,不然你就该继续往下看了。
通过以上测试,我们可以发现画面的刷新时间跟帧频有关。以1fps为例,如果你在0.3秒时移动了鼠标,那么mouseMove事件就会立即触发,trace也能及时发出,但鼠标操作所触发的界面变动就要在0.7秒后,也就是帧频事件响应时才能在游戏中反映出来。也换句话说,就是帧速率跟不上用户操作的频率。
基于这样的机制,我们只要把帧频提高,响应的延时就会随之降低。但是全局只有一个帧频,调整它往往牵一发而动全身,在实际应用中的可行性并不高。
其实要提高鼠标,键盘等操作的响应速度,除了提高帧频以外,还有下面的方法,只要在监听器函数内追加以下一行代码:
鼠标和键盘操作的流畅度就能提升不少,对于帧频设置较低(不超过30fps)的游戏来说,效果可谓立竿见影。
PS:基于Stage3D的Flash游戏,其帧频通常都在60fps左右,一般没必要再作以上优化。
和上一篇帖子一样,此法也以牺牲性能为代价(天哪,iloveas发的技巧怎么越来越不实用了,搞的我都不好意思设置回复可见啦),所以在项目里我还特地封装了一个类,在不必要的时候把这一操作给屏蔽掉。
|
|