Project1

标题: 请问如何使画面窗口显示实时更新 [打印本页]

作者: hanpian    时间: 2018-2-15 17:19
标题: 请问如何使画面窗口显示实时更新
这样的话可以显示遇怪的剩余步数,但是只有打开并关闭菜单或者战斗后才能刷新数字。请问怎么能在地图上行走的情况下实时刷新数字
RUBY 代码复制
  1. #==============================================================================
  2. # ■ Window_Douzhi
  3. #------------------------------------------------------------------------------
  4. #  菜单画面显示剩余遇敌步数的窗口。
  5. #==============================================================================
  6.  
  7. class Window_Yudi <  Window_Base
  8.   #--------------------------------------------------------------------------
  9.   # ● 初始化对像
  10.   #--------------------------------------------------------------------------
  11.   def initialize
  12.     super(0, 0, 160, 96)
  13.     self.contents = Bitmap.new(width - 32, height - 32)
  14.   refresh
  15.   end
  16.   #--------------------------------------------------------------------------
  17.   # ● 刷新
  18.   #--------------------------------------------------------------------------
  19.   def refresh
  20.     self.contents.clear
  21.     self.contents.font.color = system_color
  22.     self.contents.draw_text(4, 0, 120, 32, "剩余步数:")
  23.     self.contents.font.color = normal_color
  24.     self.contents.draw_text(4, 32, 120, 32, $game_player.encounter_count.to_s, 2)
  25.   end
  26. end

作者: hanpian    时间: 2018-2-16 20:13
已成功自己解决
在scene_map下使用了if做了些修改
作者: guoxiaomi    时间: 2018-2-16 21:15
频繁绘制文字(draw_text)会导致帧率明显下降,要记得判断文字内容没有发生变化的情况下跳过绘制。
作者: hanpian    时间: 2018-2-17 11:05
先把98号变量等于遇敌剩余步数 $game_variables[98]=$game_player.encounter_count
然后把下面的$game_player.encounter_count.to_s更改为$game_variables[98]to_s #意义不明 貌似直接用会报错
然后把scene map里的刷新窗口的@窗口.update更改为
if $game_variables[98] != @record98 and $game_variables[98] != nil
    @record98 = $game_variables[98]
    @窗口.update
    end
另外可以添加开关开启或者关闭窗口
  1. #==============================================================================
  2. # ■ Window_Yudi
  3. #------------------------------------------------------------------------------
  4. #  菜单画面显示剩余遇敌步数的窗口。
  5. #==============================================================================

  6. class Window_Yudi <  Window_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #--------------------------------------------------------------------------
  10.   def initialize
  11.     super(0, 0, 160, 96)
  12.     self.contents = Bitmap.new(width - 32, height - 32)
  13.   update
  14.   end
  15.   #--------------------------------------------------------------------------
  16.   # ● 刷新
  17.   #--------------------------------------------------------------------------
  18.   def update
  19.     if $game_switches[505] == true
  20.     $game_variables[98]=$game_player.encounter_count
  21.     self.contents.clear
  22.     self.contents.font.color = system_color
  23.     self.contents.draw_text(4, 0, 120, 32, "遇敌步数:")
  24.     self.contents.font.color = normal_color
  25.     self.contents.draw_text(4, 32, 120, 32, $game_variables[98].to_s, 2)
  26.     self.opacity = 0
  27.     self.z=999999
  28.   else
  29.   self.opacity = 0
  30. end
  31. end
  32. end
复制代码






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