Project1
标题: 关于显示变量脚本的问题 [打印本页]
作者: naterni 时间: 2011-9-23 08:54
标题: 关于显示变量脚本的问题
昨天找了一个显示变量的脚本,但是坐标有点问题,不是从左上角0,0开始计算的,是不是脚本有问题。请大家帮我看看,另外我加了两条内容,一条是改变颜色,一条是改变字体大小。会不会是这个原因,小弟初学,看不大明白。请大家指教指教。
脚本如下:- #==========================================================================
- # 本脚本来自www.66rpg.com,用于任何游戏请保留此信息。
- #==========================================================================
- VAR_SWITCH = 26 # 26号开关打开此脚本才工作,关闭则停止运算,并且透明
- VAR_REFRESH_SWITCH = 27 # 27号开关控制强制刷新,使用时机:1、把窗口由透明变为不透明(包括第一次使用时),2、游戏中用脚本更改了$var
- $var = []
- $var = [[1,55,121],[2,32,32]] #所有需要显示在地图并且刷新的变量,可在游戏中用脚本更改。格式:[变量编号,x坐标,y坐标]
- #==============================================================================
- # ■ Window_XY
- #------------------------------------------------------------------------------
- # 显示坐标的窗口。
- #==============================================================================
- class Window_Var < Window_Base#注意前面那个window_xy是文件名
- #--------------------------------------------------------------------------
- # ● 初始化窗口
- #--------------------------------------------------------------------------
- def initialize
- super(0, 0, 600+32, 480+16)#最后面那个数字是宽要显示多个需要改大,前面一个是长~
- self.contents = Bitmap.new(width, height)
- self.back_opacity = 255 # 这个是背景透明
- self.opacity = 255 # 这个是边框和背景都透明
- self.contents_opacity = 255 # 这个是内容透明
- self.visible = false
- self.contents.font.color = Color.new(0, 0, 0) #定义文字颜色
- self.contents.font.size = 14 #定义文字大小
- self.z=100
- @var = $var
- @var_a = []
- for var_draw in $var
- @var_a[var_draw[0]] = $game_variables[var_draw[0]]
- end
- refresh
- end
- #--------------------------------------------------------------------------
- # ● 刷新
- #--------------------------------------------------------------------------
- def refresh
- if $game_switches[VAR_SWITCH]
- @var = $var # 记录现在变量数组结构
- self.contents.clear # 清除以前的东西
- for var_draw in @var
- @var_a[var_draw[0]] = $game_variables[var_draw[0]] # 记录现在的游戏变量
- self.contents.draw_text(var_draw[1],var_draw[2],640,32,@var_a[var_draw[0]].to_s)
- end
- end
- end
- #--------------------------------------------------------------------------
- # ● 判断文字刷新。节约内存用
- #--------------------------------------------------------------------------
- def judge
- for var_draw in $var
- if @var_a[var_draw[0]] != $game_variables[var_draw[0]] #如果现在记录的变量和游戏变量不同,刷新
- return true
- end
- end
- if $game_switches[VAR_REFRESH_SWITCH] # 强制刷新的时候,刷新
- $game_switches[VAR_REFRESH_SWITCH] = false
- return true
- end
- return false
- end
- end
- class Scene_Map
- alias xy_66rpg_main main
- def main
- @var_window = Window_Var.new
- @var_window.opacity = 0
- xy_66rpg_main
- @var_window.dispose
- end
- #--------------------------------------------------------------------------
- # ● 刷新画面
- #--------------------------------------------------------------------------
- alias var_66rpg_update update
- def update
- var_66rpg_update
- if $game_switches[VAR_SWITCH]
- @var_window.visible = true
- @var_window.refresh if @var_window.judge
- else
- @var_window.visible = false
- end
- end
- end
- #==========================================================================
- # 本脚本来自www.66rpg.com,用于任何游戏请保留此信息。别以为加密就可以del哦
- #==========================================================================
复制代码