赞 | 0 |
VIP | 8 |
好人卡 | 27 |
积分 | 55 |
经验 | 41413 |
最后登录 | 2012-10-21 |
在线时间 | 833 小时 |
Lv4.逐梦者 弓箭手?剑兰
- 梦石
- 0
- 星屑
- 5534
- 在线时间
- 833 小时
- 注册时间
- 2010-11-17
- 帖子
- 1140
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 一箭烂YiJL 于 2011-4-23 18:09 编辑
0.序
往往游戏过程因为太慢,所以想高速测试有难度。
最简单的办法是将帧频率调高,但是不能超过120。
这办法适用在游戏测试中(尤其是破关时间),请不要发布于游戏中,
因为速度不等于效率,极快会感觉一卡一卡。
1.讲解
当删掉Graphics.update时,会出现画面不更新,但是操作极快的问题。
loop do绝对超过一秒60次(帧频率)。于是这是我的猜测:
Graphics.update除了有更新画面的基本动作外,还会有:- sleep(1/Graphics.frame_rate - 更新画面的时间 - 逻辑运算的时间) # 此处经过修正
复制代码 所以不用Graphics.update就会高速不断地循环计算。
2.脚本
综合以上,脚本如下:
- #==============================================================================
- # ■ 提高游戏速度(v1.01) by 一箭烂
- #------------------------------------------------------------------------------
- # 设置$Speed_Lv以致提高游戏速度,
- # 请插在main之上, Scene_Base之下
- #
- # 更新:
- #
- # - *1.0.1* (2011-04-21) By 一箭烂(YiJL)
- # *对Graphics.frame_count的修正
- #
- #
- # - *1.0.0* (2011-04-21) By 一箭烂(YiJL)
- # *初版
- #
- #==============================================================================
- class Scene_Base
- $Speed_Lv = 2 # 正常速度的倍数
- #--------------------------------------------------------------------------
- # ● 主处理
- #--------------------------------------------------------------------------
- def main
- start # 开始处理
- perform_transition # 执行渐变
- post_start # 开始后处理
- Input.update # 更新输入讯息
- #------------------------------------------------------------------------
- # 添加部分
- old_time = 1
- #------------------------------------------------------------------------
- loop do
- #----------------------------------------------------------------------
- # 添加部分
- old_time += 1
- old_time %= $Speed_Lv
- if old_time >= ($Speed_Lv - 1)
- Graphics.update # 更新游戏画面
- else
- Graphics.frame_count += 1
- end
- #----------------------------------------------------------------------
- Input.update # 更新输入讯息
- update # 更新画面
- break if $scene != self # 切换画面时中断循环
- end
- Graphics.update
- pre_terminate # 结束前处理
- Graphics.freeze # 准备渐变
- terminate # 结束处理
- end
- end
复制代码 用#------
#------包着的这些是外加的意思。
3.其他
实质上帧频率不变,但是做一次Graphics.update(画面更新)就等于做了x次的其他数据运算。
当数据运算量太大时就可能会有卡的状况。(Speed_Lv影响着数据运算比起平常倍数!)
还有现在的版本只能加速/不加速,不能减速!
4.范例
没什么范例可给的,一插脚本就见效嘛~伸手要范例的回帖去吧。
已经把回复可见去掉了,VX区为啥这么多人想在草原中奔跑呢?= =
提高游戏速度_v1.01.zip
(261.49 KB, 下载次数: 609)
|
评分
-
查看全部评分
|