设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1567|回复: 4
打印 上一主题 下一主题

[已经解决] 怎么用变量获取F2的fps?

[复制链接]

Lv2.观梦者

梦石
0
星屑
752
在线时间
89 小时
注册时间
2021-8-13
帖子
56
跳转到指定楼层
1
发表于 2021-8-18 10:51:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
66星屑
本帖最后由 BLUEONE 于 2021-8-19 14:43 编辑

Lv3.寻梦者

梦石
0
星屑
1122
在线时间
26 小时
注册时间
2021-2-19
帖子
30
2
发表于 2021-8-18 10:51:25 | 只看该作者
  1. YAMI_FPSVARID = 1#变量id
  2. Thread.new  do
  3.   @f = 0
  4.   loop do
  5.     sleep(1)
  6.     if $game_variables
  7.       $game_variables[YAMI_FPSVARID] = Graphics.frame_count - @f
  8.       @f = Graphics.frame_count
  9.     end
  10.   end
  11. end
复制代码

评分

参与人数 1+1 收起 理由
BLUEONE + 1 ( Graphics.frame_count是一个定量(只停留.

查看全部评分

回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
752
在线时间
89 小时
注册时间
2021-8-13
帖子
56
3
 楼主| 发表于 2021-8-21 12:33:37 | 只看该作者
本帖最后由 BLUEONE 于 2021-8-21 12:49 编辑

感谢你的回复。
但这个数字都窜到221上了..

82...64...260...120...80...110...97...76...63...141...
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1122
在线时间
26 小时
注册时间
2021-2-19
帖子
30
4
发表于 2021-8-21 20:59:02 | 只看该作者
本帖最后由 yaminolancelot 于 2021-8-21 21:15 编辑
BLUEONE 发表于 2021-8-21 12:33
感谢你的回复。
但这个数字都窜到221上了..


内置算法和标题的好像不太一样,改成读标题了,不过f2关掉的时候就无效了
  1. YAMI_FPSVARID = 1#变量id

  2. ini = Win32API.new('kernel32', 'GetPrivateProfileString','PPPPLP', 'L')
  3. $game_name = "\0" * 256
  4. ini.call('Game', 'Title', '', $game_name, 256, '.\\Game.ini')
  5. $game_name.delete!("\0")
  6. wnd = Win32API.new('user32', 'FindWindowA', 'PP', 'L')
  7. $hWnd = wnd.call('RGSS Player', $game_name)
  8. k = Win32API.new('user32', 'keybd_event', 'IILL', 'V')
  9. k.call(113,0,0,0)
  10. k.call(113,0,2,0)
  11. class << Graphics
  12.   alias yami_update update  
  13.   def update
  14.     yami_update
  15.     txt =  Win32API.new('user32', 'GetWindowText','LPL', 'L')
  16.     title = "\0" * 256
  17.     txt.call($hWnd,title,256)
  18.     if $game_variables
  19.       fps = title.delete("\0").gsub($game_name, "FPS").match(/\d+/)
  20.       $game_variables[YAMI_FPSVARID] = fps ? fps[0].to_i : 0
  21.     end
  22.   end
  23. end
复制代码

评分

参与人数 1星屑 +100 收起 理由
VIPArcher + 100 认可答案

查看全部评分

回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
752
在线时间
89 小时
注册时间
2021-8-13
帖子
56
5
 楼主| 发表于 2021-8-21 22:32:00 | 只看该作者
本帖最后由 BLUEONE 于 2021-8-21 22:42 编辑
yaminolancelot 发表于 2021-8-21 20:59
内置算法和标题的好像不太一样,改成读标题了,不过f2关掉的时候就无效了 ...


哦!太棒了!经过几轮的测试,您的代码十分有效!
但是就差那么一点点!
一放到事件中的条件分期就会出现锁帧(即使间隔20帧也一样)即使代给了别的变量条件分歧处理同样如此(又是rgss搞的事)
二使用ruby if语句不会锁帧但会卡顿,即使if语句间隔20帧仍然卡顿(能到9fps这种地步)。
闲话:为什么我这么执着于fps?因为我想让音乐和程序的节奏对上,因为rgss图像(和逻辑)跟音频不在一个轨道上,所以画面(和逻辑)跳了帧节奏就对不上,就乱拍了。而fps就是实时运行每秒间隔的精确帧数字。

但。这些都不重要了,最近也在钻研ruby,希望有朝一日能自行解决(让音频和图像在一个轨道上)。good night
回复

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-29 10:46

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表