FPS Show

来自SMBX 中文百科
TeaScript:FPS Show
跳转到导航 跳转到搜索
FPS Show

FPS Show 是 SMBX 38A 的 TeaScript 一个脚本演示。

介绍

此代码是实时显示FPS。(虽然游戏有FPS显示菜单,所以这个代码是给没开FPS显示的人准备的(雾))

代码教程

dim a as double                                     '定义一个系统秒数变量。
dim b as double                                     '定义一个目标系统秒数变量。
dim c as double                                     '定义一个 Frame 变量。
dim d as double                                     '定义一个显示 FPS 数据的变量。

call txtcreate(1,80,80,32,128,0,16,0,1,"qwq")       '创建一个文本对象,用来显示FPS。

do
	a = sysval(second)                              '将 a 赋予为 系统秒数。
	c += 1                                          'C 不断+1,画面FPS的速度决定一秒钟内能加多少。
	text(1).text = "Game FPS: " & d
	if a = b then                                   '如果 系统秒数变量 = 下一秒,则执行下段。
		d = c                                       'd 为 显示FPS变量,赋值为 c。
		c = 0                                       '重置 c。
	end if
	b = sysval(second) + 1
	if b > 59 then                                  '如果过1分钟,则重置为0。
		b = 0
	end if
	call sleep(1)                                   '因为是无限循环运行,所以要保证有一个 sleep(1) 防止死循环。
loop

此函数逻辑是通过游戏的帧数与现实时间的帧数差计算(游戏内帧数与系统时间是两个线程运行,相互独立),系统用的正是程序运行时画面的反馈数(Frame Per Seconds)和时间差计算而计算而来。