手柄君的小阁

争做最好的个人网站

循环时获取游戏每秒帧数(FPS)

本文最后更新于 2015 年 10 月 30 日,其中的内容可能有所发展或发生改变,敬请注意。
cgfps

作者 iamapig120

橙光幼稚园,橙长快乐

教程介绍:悬浮组件开荒!循环内获取并显示每秒帧数基本思想和制作方法

适用目标:橙光游戏作者

需要工具:橙光文字游戏制作工具

镜像载点:橙光论坛唯一教程地址 http://bbs.66rpg.com/thread-439287-1-1.html

关于转载:文章作者享有本文章的知识产权,请在 给本文作者邮箱发送邮件 mail#bysb.net(#换成@)、或在本文回复、橙光游戏论坛私信作者账户 iamapig120 获得同意 后方可转载。

0.模块浏览
http://www.66rpg.com/game/351619
进入后,窗口左上角即为最终浏览效果,稍稍有点延迟刷新的FPS指示器

1.模块目标

使用高级模式的循环和数值操作配合时间戳来获取循环时的FPS,
并使用悬浮组件显示,做出FPS指示器的效果,该模块理论可用于多数等待1循环内使用
注:这里指的循环为,形如此类

循环
| 循环的其它操作
| [这里是模块所在位置]
| 循环的其它操作
| 等待 1
| >
: 以上反复

2.模块占用

本工程需要占用您
5个数值位置,以下用[1]-[5]代替
[1]用于判断该模块的运行状态
[2]用以存储当前时间戳
[3]用于存储工程开始统计时的时间戳
[4]用于存储统计帧数的中间值
[5]用于输出统计结果

1个字符串位置,以下用 1-[输出] 代替
[001]用于设置指示器显示的图像

3.模块实现

1.
使用三个条件分歧,分别设置[1]在不同值下的运行情况,
并在最开始处读取当前时间戳

数值操作 : [2]=系统时间[时间戳]
条件分歧 : 数值:[1]=0
| >
: 分歧结束
条件分歧 : 数值:[1]=1
| >
: 分歧结束
条件分歧 : 数值:[1]=2
| >
: 分歧结束

2.
分别为三个运行情况设置对应的内容
首先设置当  数值:[1]=0 时的内容

前略
条件分歧 : 数值:[1]=0
|
注释:获取循环开始计数时间
| 数值操作 : [3]=系统时间[时间戳]
| 注释:进入阶段1
| 数值操作 : [1]=1
| >
: 分歧结束
后略

3.分别为三个运行情况设置对应的内容
然后设置当  数值:[1]=1 时的内容

前略
条件分歧 : 数值:[1]=1
|
注释:当当前时间与开始时间不符,开始统计帧数
| 条件分歧 : 数值:[3]≠[2]
| |
注释:将开始时间设置为当前时间
| | 数值操作 : [3]=[2]
| | 注释:进入阶段2
| | 数值操作 : [1]=2
| | 注释:归零计数器
| | 数值操作 : [4]=0
| | >
| : 分歧结束
| >
: 分歧结束
后略

4.分别为三个运行情况设置对应的内容
最后设置当  数值:[1]=2 时的内容
这一段是核心统计部分

前略
条件分歧 : 数值:[1]=2
| 注释:当当前时间与开始时间不符,开始统计帧数
| 条件分歧 : 数值:[3]=[2]
| | 注释:当当前秒和开始秒相同时,统计获得的帧数+1
| | 数值操作 : [4]+=1
| | >
| : 除此之外的剧情

| | 注释:不同时,输出结果
| | 数值操作 : [5]=[4]
| | 注释:当工程快进的情况下,阻止系统输出超过60的值
| | 条件分歧 : 数值:[5]>60
| | | 数值操作 : [5]=60
| | | >
| | : 分歧结束

| | 注释:将得到的最终结果输出到为悬浮组件图像
| | 字符串:1-[输出] =“帧 (\[5]).png”
| | 注释:开始新一轮统计
| | 
数值操作 : [1]=0
| | >
| : 分歧结束
| >
: 分歧结束

后略

5.设置悬浮组件
新增一个悬浮组件,添加一个图片素材,使用字符串 1-[输出] 指定图片,位置设置到除(0,0)之外的任何位置

4.进阶效果
游戏中您可以在循环内利用每秒帧数实现精确的计时,也可以配合其他循环内容实现更多效果

5.注意事项
请您注意通过字符串指定的图像需要提前加载,所以您需要在工程开头加载相关文件
如果使用了多个悬浮组件,您可以使用字符串来指定一个空的图像,这样就可以隐藏掉某一个悬浮组件

6.工程获取
抱歉,这个模块不提供工程下载

7.资源获取
以下是您可能需要的图像资源,您可以在本页面回复后获得
您只需要填写 昵称 和 电子邮件 还有 评论 即可

哦不,这么好的东西,你不回复一下就想拿到么?回复一下吧! 本地下载

感谢阅读!祝您的橙光游戏大红大紫!
如果您还有任何问题,欢迎回复!我会尽可能地一一回复的!

觉得有点意思,资助本站一下吧

查看详细收支和捐款

打开支付宝扫一扫或点此处领红包

  1. lookthecat说道:

    厉害厉害

  2. 六禾说道:

    手柄君真的好厉害_(:зゝ∠)_……

  3. 一夜知秋水说道:

    ?为什么我自己看不到自己的回复。
    手柄君其实很厉害的啊,自己弄了个博客,那就表示还是会编程的

    1. 手柄君~ 手柄君~说道:

      回复刷新不是即时的的说……为了节省服务器资源

    2. Pt Pt说道:

      因为你访问的页面是缓存过的 大概二十分钟刷新一次的样子

  4. 一夜知秋水说道:

    手柄君能弄出自己的博客站点,就表示手柄君也有一定的编程能力的。
    好厉害哦。

  5. 顾弦说道:

    手柄君接下我一个月的膝盖【虽然看不懂

  6. 顾弦说道:

    我天手柄君收下我的膝盖

  7. 朴泰迪~说道:

    高科技什么的太牛掰了

    1. 手柄君~ 手柄君~说道:

      谢谢QAQ
      话说居然有人来我站上评论QAQ

来一发吐槽