Project1

标题: 如何把游戏中的一个变量显示在地图上 [打印本页]

作者: 43585665    时间: 2014-7-14 14:30
标题: 如何把游戏中的一个变量显示在地图上
本帖最后由 43585665 于 2014-7-14 14:31 编辑

我想自己做一种货币,然后在图片后面显示数字就可以。
不用其他复杂的东西,只要能显示一个数字,然后可以根据开关显示或者隐藏就可以了。
网络上有个柳柳以前的教学视频,但是不清晰。
我想跟着改但很多名词看不清楚,所以希望大大能给一个简单的案例脚本。
谢谢!
作者: wolves    时间: 2014-7-14 15:07
显示变量为图片么
Window_MapVar
  1. #==========================================================================
  2. # 本脚本来自www.66rpg.com,用于任何游戏请保留此信息。
  3. #==========================================================================
  4. VAR_SWITCH = 1          # 1号开关打开此脚本才工作,关闭则停止运算,并且透明
  5. VAR_REFRESH_SWITCH = 2  # 2号开关控制强制刷新,使用时机:1、把窗口由透明变为不透明(包括第一次使用时),2、游戏中用脚本更改了$var
  6. $var = []
  7. $var = [[1,90,25],[2,64,72],[3,64,100],[4,64,128],[5,64,156],[6,64,184],[7,100,245],[8,100,287],[9,100,329],[10,80,365]]#所有需要显示在地图并且刷新的变量,可在游戏中用脚本更改。格式:[变量编号,x坐标,y坐标]
  8. #==============================================================================
  9. # ■ Window_XY
  10. #------------------------------------------------------------------------------
  11. #  显示坐标的窗口。
  12. #==============================================================================
  13. class Window_Var < Window_Base#注意前面那个window_var是文件名
  14.   #--------------------------------------------------------------------------
  15.   # ● 初始化窗口
  16.   #--------------------------------------------------------------------------
  17.   def initialize
  18.     super(-16, -16, 640+32, 480+32)#最后面那个数字是宽要显示多个需要改大,前面一个是长~
  19.     self.contents = Bitmap.new(width - 32, height - 32)
  20.     self.back_opacity = 255  # 这个是背景透明
  21.     self.opacity = 255       # 这个是边框和背景都透明
  22.     self.contents_opacity = 255       # 这个是内容透明
  23.     self.visible = false
  24.     self.z=9999
  25.     @var = $var
  26.     @var_a = []
  27.     for var_draw in $var
  28.       @var_a[var_draw[0]] = $game_variables[var_draw[0]]
  29.     end   
  30.     refresh
  31.   end

  32.   #--------------------------------------------------------------------------
  33.   # ● 刷新
  34.   #--------------------------------------------------------------------------
  35.   def refresh
  36.     if $game_switches[VAR_SWITCH]
  37.       @var = $var         # 记录现在变量数组结构
  38.       self.contents.clear # 清除以前的东西
  39.       for var_draw in @var
  40.         @var_a[var_draw[0]] = $game_variables[var_draw[0]] # 记录现在的游戏变量
  41.         self.contents.draw_text(var_draw[1],var_draw[2],640,32,@var_a[var_draw[0]].to_s)
  42.       end
  43.     end
  44.   end
  45.   #--------------------------------------------------------------------------
  46.   # ● 判断文字刷新。节约内存用
  47.   #--------------------------------------------------------------------------
  48.   def judge
  49.     for var_draw in $var
  50.       if @var_a[var_draw[0]] != $game_variables[var_draw[0]] #如果现在记录的变量和游戏变量不同,刷新
  51.         return true
  52.       end
  53.     end
  54.     if $game_switches[VAR_REFRESH_SWITCH]  # 强制刷新的时候,刷新
  55.       $game_switches[VAR_REFRESH_SWITCH] = false
  56.       return true
  57.     end
  58.     return false
  59.   end
  60. end

  61. class Scene_Map
  62.   alias var_66rpg_main main
  63.   def main
  64.     @var_window = Window_Var.new
  65.     @var_window.opacity = 0
  66.     var_66rpg_main
  67.     @var_window.dispose
  68.   end
  69.   #--------------------------------------------------------------------------
  70.   # ● 刷新画面
  71.   #--------------------------------------------------------------------------
  72.   alias var_66rpg_update update
  73.   def update
  74.     var_66rpg_update
  75.     if $game_switches[VAR_SWITCH]
  76.       @var_window.visible = true      
  77.       @var_window.refresh if @var_window.judge
  78.     else
  79.       @var_window.visible = false
  80.     end
  81.   end
  82. end
  83. #========================================================================
  84. # 本脚本来自www.66rpg.com,用于任何游戏请保留此信息。
  85. #========================================================================
复制代码

作者: 43585665    时间: 2014-7-14 15:21
wolves 发表于 2014-7-14 15:07
显示变量为图片么
Window_MapVar

谢谢。
不是变量成图片,就是把变量的数字显示在地图上,然后我在前面加个图片表示他的用途,大概是这样。
只要能显示变量的数字就可以
作者: 43585665    时间: 2014-7-14 16:36
wolves 发表于 2014-7-14 15:07
显示变量为图片么
Window_MapVar

好的,谢谢啦~




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1