Project1
标题:
【不是创意的创意】游戏里显示FPSv1.2(2011年6月18日更新)
[打印本页]
作者:
精灵使者
时间:
2011-6-18 13:57
标题:
【不是创意的创意】游戏里显示FPSv1.2(2011年6月18日更新)
本帖最后由 精灵使者 于 2011-6-18 16:23 编辑
这个版本XP和VX通用,使用方法参考说明。
效果:右上角以数字方式显示游戏的FPS,方便测试。
v1.1 紧急修正F12错误(感谢美兽大人)
v1.2 yangff决议,修正了核心算法,更加准确。
############################################################################
# 显示游戏的FPS v1.2(XP&VX)
# 作者:yangff 精灵使者
# 使用方法:直接插入脚本的最上面即可
# 如果不想显示的话,请删除$sc相关的部分即可
# 调用fps的方法为:Graphics.fps
# v1.1 紧急修正了F12错误。
# v1.2 根据yangff的建议修正了算法。
############################################################################
class <<Graphics
alias :old_update update unless method_defined? :old_update
alias :old_transition transition unless method_defined? :old_transition
alias :old_freeze freeze unless method_defined? :old_freeze
def transition(*args)
$sc.bitmap.clear
$sc.bitmap.draw_text(0,0,32,32,@fps.to_s)
old_transition(*args)
if @sec !=Time.now.sec
@sec = Time.now.sec
@fps = Graphics.frame_count - @frames
@frames = Graphics.frame_count
end
@fps = @fps < 0 ? 0 : @fps
@fps = @fps > Graphics.frame_rate ? Graphics.frame_rate : @fps
end
def update(*args)
$sc.bitmap.clear
$sc.bitmap.draw_text(0,0,32,32,@fps.to_s)
old_update(*args)
if @sec !=Time.now.sec
@sec = Time.now.sec
@fps = Graphics.frame_count - @frames
@frames = Graphics.frame_count
end
@fps = @fps < 0 ? 0 : @fps
@fps = @fps > Graphics.frame_rate ? Graphics.frame_rate : @fps
end
def freeze(*args)
$sc.bitmap.clear
$sc.bitmap.draw_text(0,0,32,32,@fps.to_s)
old_freeze(*args)
if @sec !=Time.now.sec
@sec = Time.now.sec
@fps = Graphics.frame_count - @frames
@frames = Graphics.frame_count
end
@fps = @fps < 0 ? 0 : @fps
@fps = @fps > Graphics.frame_rate ? Graphics.frame_rate : @fps
end
def _init_fps_count
@sec = Time.now.sec
@fps = 0
@frames = Graphics.frame_count
end
def fps
return @fps
end
end
Graphics._init_fps_count
$sc=Sprite.new
$sc.z=999999
$sc.bitmap=Bitmap.new(32,32)
$sc.x = 500
$sc.y = 16
复制代码
效果截图:
截图-2011年6月18日.png
(376.54 KB, 下载次数: 40)
下载附件
保存到相册
2011-6-18 14:09 上传
可以用内置的Graphics.fps来做更好的效果
作者:
liqunsz
时间:
2011-6-18 14:01
这样的话显示fps给玩家是个不错的参考呢,不如加上一幅图?
作者:
寂静的夜里
时间:
2011-6-18 15:45
直接按F2 显示的不是一样?........
作者:
px.凤翔九天
时间:
2011-6-18 15:51
表示fps主要被我用来改良手感了....真正游戏的时候玩家估计不会去管那个蹦来蹦去的数字的吧........
作者:
yangff
时间:
2011-6-18 15:57
其实算的一点都不准真的
作者:
精灵使者
时间:
2011-6-18 16:24
根据yangff的要求,更新到v1.2
作者:
天使喝可乐
时间:
2011-6-19 10:59
有否办法 按一个键才显示(直接显示有点碍事) 显示的是一个弹窗print然后 按照fps多少给予提示
----------------------
游戏测速 |X|
----------------------
你的fps为: --
“你使用的计算机档次太低,请关闭一些效果而增强游戏性能。”
或
“你的速度符合标准,祝您游戏愉快。”
----------------------
作者:
zx16589042
时间:
2011-8-30 14:47
本帖最后由 zx16589042 于 2011-8-30 14:48 编辑
升级!最好直接内部调用
作者:
精灵使者
时间:
2011-8-30 15:17
内部调用入口:Graphics.fps
作者:
忧雪の伤
时间:
2011-8-30 16:00
本帖最后由 忧雪の伤 于 2011-8-30 16:05 编辑
本人正式得到副职:脚本爆破手。
9999.times { $sc = nil }
GC.start
复制代码
作者:
精灵使者
时间:
2011-12-27 00:44
精灵确认,ACE此脚本同样有效。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1