赞 | 6 |
VIP | 0 |
好人卡 | 0 |
积分 | 13 |
经验 | 0 |
最后登录 | 2025-2-2 |
在线时间 | 236 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 1339
- 在线时间
- 236 小时
- 注册时间
- 2023-11-9
- 帖子
- 49
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 ppspssss2 于 2024-7-8 17:14 编辑
模仿微星小飞机的硬件监控Rivatuner,显示电脑状态动态刷新,(只是用来娱乐整活,假的)
看到显卡cpu评测,左上角的就想弄一个,用來解馋 (用于我的缓解配置不足) 数字是可以自己填的,所以写什么都可以
脚本原理是绘制一个bitmap设定一个范围(我理解为画板),然后再绘制字串(string),本身是一个绘制文字的脚本,是rmxp用的,发现有些如描边,阴影的字体功能rmva才能用,不过粗体后已经比较像就不用描边了,粗体就够用(我觉得看起来粗体效果就行)
脚本很乱很多东西没删凑合看
#============================================= # 显示晶片名字窗口。#攻击力以及元素标识 #============================================================================== #为独立分支 #模拟微星小飞机,显示电脑状态动态刷新,(整活用假) class Window_chipname # @ chipname_window #其实不算window类别搞混了只是普通实例 attr_accessor :showtext #attr_accessor可外部读写变量这里就不用 #attr_accessor :visible #?不用,不使用原窗口 attr_accessor :vis attr_accessor :elem_pic attr_accessor :text_three attr_accessor :w_chipname#元素标识隐藏 def initialize #初始化 @vis = true #不用 @text_three = Sprite.new #@text_three.bitmap = Bitmap.new(175,210) @text_three.bitmap = Bitmap.new(420,240) #画布大小,设定小会显示不全,太大会占用资源 @text_three.x = 0 #初始x,y轴为左上角 @text_three.y = 0 @text_three.z = 5020 # z轴尽量大显示在最上方 #@visible = false #不用 @my_framecount = 0 #计时器用的变量 @showtext = ["","",""] #不用 @showtext = ["RTX4090","22","33"] #不用 @showtext_2 = ["100度","100%","33MHz"] #不用 @time_now_刚才= "" #不用 @标题_1 = "RTX4090" #不用 @行数_1=0 #不用 @右数= #不用 @r=[]#存放隨機数的数组 refresh #初始化后需刷新一次 #@x = 0 #@y = 96 end #-------------------------------------------------------------------------- # ● 刷新 #-------------------------------------------------------------------------- def refresh @time_now_刚才 = Time.now #储存现时时间,跟下面的Time.now作对比 #用于延迟每34帧才进行刷新一次 @my_framecount += 1 #每轮询一次计数器加1 if @my_framecount >= 34#大于34计数,刷新 @my_framecount = 0 #重置计时器 else return #不刷新 end @text_three.bitmap.clear #清除上一次绘制了的东西 draw_chiptext #运行draw_chiptext def(方法) # @elem_pic.src_rect.set(b*28,a*28,28,28) #@元素标识隐藏 in end def draw_chiptext #p c @行数_1=0 @text_three.bitmap.font.color.set(245, 162, 0) #设定@text_three.bitmap.font的文字的颜色 @text_three.bitmap.font.bold = true #使用文字粗体 @text_three.bitmap.font.size = 22 #字体大小 #@text_three.bitmap.font.default_out_color = Color.new(255,255,255,128) #描邊顏色#RGSS3用,RGSS1没用 # @text_three.bitmap.font.outline = true #RGSS3用,RGSS1没用 #@text_three.bitmap. # Font.default_shadow = false #RGSS3用,RGSS1没用 #gpu 占用百分比 温度 #显存 #cpu 占用百分比 温度 频率 #RAM 内存占用 #D3D12 帧率 延迟 #draw_text后分别为(x,y,x容量大小,y容量大小,要显示的string字串) @text_three.bitmap.font.color.set(110,186,68) # 文字绿色 @text_three.bitmap.draw_text(0, 0+@行数_1*22, 170, 22, "RTX4090")# @行数_1+=1 #方便统计 @text_three.bitmap.font.color.set(110,186,68) @text_three.bitmap.draw_text(0, 0+@行数_1*22, 115,22, "显存 24GB")# @行数_1+=1 @text_three.bitmap.font.color.set(0, 134, 205) # 文字蓝色 @text_three.bitmap.draw_text(0, 0+@行数_1*22, 115,22, "R9 7950")# @行数_1+=1 @text_three.bitmap.draw_text(0, 0+@行数_1*22, 115,22, "内存 48X2")# @行数_1+=1 @text_three.bitmap.font.color.set(241,157,174) @text_three.bitmap.draw_text(0, 0+@行数_1*22, 115,22, "D3D12")# @行数_1+=1 @text_three.bitmap.font.color.set(245, 162, 0) # # 文字橙色 r=0#不用 @r[r]=rand(10)+30 if rand(10)==0 or @r[r]==nil #数组用于储存值跟一次如果不刷新就复用,10分之1慨率刷新rand(10)==0,令看上去不会经常动的感觉(我看原版也是这样),第一次使 用是没有值因而要 加入or @r[r] ==nil就刷新一次 @text_three.bitmap.draw_text(22*5, 0+0*22, 170, 22, "#{@r[r]}"+"%")# @r[r+1]=rand(10)+60 if rand(10)==0 or @r[r+1]==nil @text_three.bitmap.draw_text(22*5+5*22, 0+0*22, 115,22, "#{@r[r+1]}"+"℃")# @r[r+2]=rand(100)+23000 if rand(10)==0 or @r[r+2]==nil @text_three.bitmap.draw_text(22*5, 0+1*22, 115,22, "#{@r[r+2]}"+"MB")# @r[r+3]=rand(10)+20 if rand(10)==0 or @r[r+3]==nil @text_three.bitmap.draw_text(22*5, 0+2*22, 170, 22, "#{@r[r+3]}"+"%")# @r[r+4]=rand(10)+50 if rand(10)==0 or @r[r+4]==nil @text_three.bitmap.draw_text(22*5+5*22, 0+2*22, 115,22, "#{@r[r+4]}"+"℃")# @r[r+5]=(rand(16))*25+5300 if rand(10)==0 or @r[r+5]==nil#处理器好像是每25Mhz步进,因此使用每25数值乘数 @text_three.bitmap.draw_text(22*5+10*22, 0+2*22, 115,22, "#{@r[r+5]}"+"MHZ")# @r[r+6]=rand(1000)+95000 if rand(10)==0 or @r[r+6]==nil @text_three.bitmap.draw_text(22*5, 0+3*22, 115,22, "#{@r[r+6]}"+"MB")# @text_three.bitmap.font.color.set(255, 255, 255) # # 文字白色 c = Time.now- @time_now_刚才 #用于跟上方的time.now相差作浮动用(其实也没什么用),随机生成也可以 @r[r+7]=(c*3456).to_i+40 #加上一个固定值令看上去很大(随便起的) @text_three.bitmap.draw_text(22*5, 0+4*22, 155,22, "#{@r[r+7]}"+"FPS" )# @r[r+8]= c*1000 #延迟差值秒乘1000等于毫秒(ms) ,1秒=1000毫秒(ms) @text_three.bitmap.draw_text(22*5+5*22, 0+4*22, 155,22, "#{@r[r+8]}"+"ms")# end end #class end $w_显示 = Window_chipname.new #全局变量生成实例 #放在要生成的地方 #$w_显示.refresh #要放在要刷新updata处(每帧调用时刷新一次) #========================================================================== # 本脚本来自[url]www.66rpg.com[/url],用于任何游戏请保留此信息。别以为加密就可以del哦 #========================================================================== __END__ 以下为例子方便调用 (245, 162, 0) 橙 (0, 134, 205) 蓝 (110,186,68)绿 (241,157,174)粉 0.016*60 = 1 (0.016 = 1/60 )time.now除出来的值乘看上去大一点 0.01*1000 = 10ms (每秒中反应时长越短越快)
#=============================================
# 显示晶片名字窗口。#攻击力以及元素标识
#==============================================================================
#为独立分支
#模拟微星小飞机,显示电脑状态动态刷新,(整活用假)
class Window_chipname # @ chipname_window #其实不算window类别搞混了只是普通实例
attr_accessor :showtext #attr_accessor可外部读写变量这里就不用
#attr_accessor :visible #?不用,不使用原窗口
attr_accessor :vis
attr_accessor :elem_pic
attr_accessor :text_three
attr_accessor :w_chipname#元素标识隐藏
def initialize #初始化
@vis = true #不用
@text_three = Sprite.new
#@text_three.bitmap = Bitmap.new(175,210)
@text_three.bitmap = Bitmap.new(420,240) #画布大小,设定小会显示不全,太大会占用资源
@text_three.x = 0 #初始x,y轴为左上角
@text_three.y = 0
@text_three.z = 5020 # z轴尽量大显示在最上方
#@visible = false #不用
@my_framecount = 0 #计时器用的变量
@showtext = ["","",""] #不用
@showtext = ["RTX4090","22","33"] #不用
@showtext_2 = ["100度","100%","33MHz"] #不用
@time_now_刚才= "" #不用
@标题_1 = "RTX4090" #不用
@行数_1=0 #不用
@右数= #不用
@r=[]#存放隨機数的数组
refresh #初始化后需刷新一次
#@x = 0
#@y = 96
end
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
@time_now_刚才 = Time.now #储存现时时间,跟下面的Time.now作对比
#用于延迟每34帧才进行刷新一次
@my_framecount += 1 #每轮询一次计数器加1
if @my_framecount >= 34#大于34计数,刷新
@my_framecount = 0 #重置计时器
else
return #不刷新
end
@text_three.bitmap.clear #清除上一次绘制了的东西
draw_chiptext #运行draw_chiptext def(方法)
# @elem_pic.src_rect.set(b*28,a*28,28,28)
#@元素标识隐藏 in
end
def draw_chiptext
#p c
@行数_1=0
@text_three.bitmap.font.color.set(245, 162, 0) #设定@text_three.bitmap.font的文字的颜色
@text_three.bitmap.font.bold = true #使用文字粗体
@text_three.bitmap.font.size = 22 #字体大小
#@text_three.bitmap.font.default_out_color = Color.new(255,255,255,128) #描邊顏色#RGSS3用,RGSS1没用
# @text_three.bitmap.font.outline = true #RGSS3用,RGSS1没用
#@text_three.bitmap.
# Font.default_shadow = false #RGSS3用,RGSS1没用
#gpu 占用百分比 温度
#显存
#cpu 占用百分比 温度 频率
#RAM 内存占用
#D3D12 帧率 延迟
#draw_text后分别为(x,y,x容量大小,y容量大小,要显示的string字串)
@text_three.bitmap.font.color.set(110,186,68) # 文字绿色
@text_three.bitmap.draw_text(0, 0+@行数_1*22, 170, 22, "RTX4090")#
@行数_1+=1 #方便统计
@text_three.bitmap.font.color.set(110,186,68)
@text_three.bitmap.draw_text(0, 0+@行数_1*22, 115,22, "显存 24GB")#
@行数_1+=1
@text_three.bitmap.font.color.set(0, 134, 205) # 文字蓝色
@text_three.bitmap.draw_text(0, 0+@行数_1*22, 115,22, "R9 7950")#
@行数_1+=1
@text_three.bitmap.draw_text(0, 0+@行数_1*22, 115,22, "内存 48X2")#
@行数_1+=1
@text_three.bitmap.font.color.set(241,157,174)
@text_three.bitmap.draw_text(0, 0+@行数_1*22, 115,22, "D3D12")#
@行数_1+=1
@text_three.bitmap.font.color.set(245, 162, 0) # # 文字橙色
r=0#不用
@r[r]=rand(10)+30 if rand(10)==0 or @r[r]==nil
#数组用于储存值跟一次如果不刷新就复用,10分之1慨率刷新rand(10)==0,令看上去不会经常动的感觉(我看原版也是这样),第一次使 用是没有值因而要 加入or @r[r] ==nil就刷新一次
@text_three.bitmap.draw_text(22*5, 0+0*22, 170, 22, "#{@r[r]}"+"%")#
@r[r+1]=rand(10)+60 if rand(10)==0 or @r[r+1]==nil
@text_three.bitmap.draw_text(22*5+5*22, 0+0*22, 115,22, "#{@r[r+1]}"+"℃")#
@r[r+2]=rand(100)+23000 if rand(10)==0 or @r[r+2]==nil
@text_three.bitmap.draw_text(22*5, 0+1*22, 115,22, "#{@r[r+2]}"+"MB")#
@r[r+3]=rand(10)+20 if rand(10)==0 or @r[r+3]==nil
@text_three.bitmap.draw_text(22*5, 0+2*22, 170, 22, "#{@r[r+3]}"+"%")#
@r[r+4]=rand(10)+50 if rand(10)==0 or @r[r+4]==nil
@text_three.bitmap.draw_text(22*5+5*22, 0+2*22, 115,22, "#{@r[r+4]}"+"℃")#
@r[r+5]=(rand(16))*25+5300 if rand(10)==0 or @r[r+5]==nil#处理器好像是每25Mhz步进,因此使用每25数值乘数
@text_three.bitmap.draw_text(22*5+10*22, 0+2*22, 115,22, "#{@r[r+5]}"+"MHZ")#
@r[r+6]=rand(1000)+95000 if rand(10)==0 or @r[r+6]==nil
@text_three.bitmap.draw_text(22*5, 0+3*22, 115,22, "#{@r[r+6]}"+"MB")#
@text_three.bitmap.font.color.set(255, 255, 255) # # 文字白色
c = Time.now- @time_now_刚才 #用于跟上方的time.now相差作浮动用(其实也没什么用),随机生成也可以
@r[r+7]=(c*3456).to_i+40 #加上一个固定值令看上去很大(随便起的)
@text_three.bitmap.draw_text(22*5, 0+4*22, 155,22, "#{@r[r+7]}"+"FPS" )#
@r[r+8]= c*1000 #延迟差值秒乘1000等于毫秒(ms) ,1秒=1000毫秒(ms)
@text_three.bitmap.draw_text(22*5+5*22, 0+4*22, 155,22, "#{@r[r+8]}"+"ms")#
end
end #class end
$w_显示 = Window_chipname.new #全局变量生成实例 #放在要生成的地方
#$w_显示.refresh #要放在要刷新updata处(每帧调用时刷新一次)
#==========================================================================
# 本脚本来自[url]www.66rpg.com[/url],用于任何游戏请保留此信息。别以为加密就可以del哦
#==========================================================================
__END__
以下为例子方便调用
(245, 162, 0) 橙 (0, 134, 205) 蓝 (110,186,68)绿 (241,157,174)粉
0.016*60 = 1 (0.016 = 1/60 )time.now除出来的值乘看上去大一点
0.01*1000 = 10ms (每秒中反应时长越短越快)
|
评分
-
查看全部评分
|