Project1

标题: 帮忙写个地图显示变量及定时加变量的脚本 [打印本页]

作者: 18229042    时间: 2011-3-13 12:53
提示: 作者被禁止或删除 内容自动屏蔽
作者: 忧雪の伤    时间: 2011-3-13 12:56
本帖最后由 忧雪の伤 于 2011-3-13 12:59 编辑
  1. class Scene_Map
  2.   
  3.   alias :old_main_now :main unless method_defined? :old_main_now
  4.   def main
  5.     @count = 0
  6.     old_main_now
  7.   end
  8.   
  9.   alias :old_update_now :update unless method_defined? :old_update_now
  10.   def update
  11.     if @count < 400
  12.       @count += 1
  13.     else
  14.       $game_variables[1] += 1
  15.       # => print $game_variables[1]
  16.       @count = 0
  17.     end
  18.     $game_variables[2] += 1 if $game_variables[1] >= 60
  19.     # => print $game_variables[2]
  20.     $game_variables[3] = "春" if $game_variables[2] == 1
  21.     old_update_now
  22.   end
  23.   
  24. end
复制代码

  1. class Window_Mapnumber < Window_Base

  2.   def initialize
  3.     super(0, 0, 160, 64)
  4.     self.contents = Bitmap.new(width - 32, height - 32)
  5.     self.opacity = 0
  6.     refresh
  7.   end
  8.   
  9.   def refresh
  10.     self.contents.clear
  11.     self.contents.font.color = normal_color
  12.     self.contents.draw_text(0, 0, 128, 32, $game_variables[1].to_s, 0)
  13.     self.contents.draw_text(20, 0, 128, 32, $game_variables[2].to_s, 0)
  14.     self.contents.draw_text(40, 0, 128, 32, $game_variables[3].to_s, 0)   
  15.   end
  16.   
  17. end

  18. class Scene_Map
  19.   
  20.   alias :old_main_now_now :main unless method_defined? :old_main_now_now
  21.   
  22.   def main
  23.     @mapnumber_window = Window_Mapnumber.new
  24.     @old_number = $game_variables[1]
  25.     old_main_now_now
  26.     @mapnumber_window.dispose
  27.   end
  28.   
  29.   alias :old_update_now_now :update unless method_defined? :old_update_now_now
  30.   
  31.   def update
  32.     if @old_number != $game_variables[1]
  33.       @mapnumber_window.refresh
  34.       @old_number = $game_variables[1]
  35.     end
  36.     old_update_now_now
  37.   end
  38.   
  39. end
复制代码

作者: 精灵使者    时间: 2011-3-13 13:01
本帖最后由 精灵使者 于 2011-3-13 13:02 编辑

纯事件其实也可以办到呢。
关键词:并行事件,等待帧,开关,计算处理
关于变量显示部分就用金钱窗口来做吧——核心部分我可以做,问题是外接

作者: IamI    时间: 2011-3-13 13:03
本帖最后由 IamI 于 2011-3-13 13:03 编辑

随意各种偷懒= =b
  1. class Scene_Map
  2.   alias re_main main
  3.   def main
  4.     @windowxx = Window_Base.new(0,0,280,64)
  5.     @windowxx.contents = Bitmap.new(280-32,32)
  6.     @windowxx.opacity = 125
  7.     re_windowxx
  8.     re_main
  9.     @windowxx.dispose
  10.   end
  11.   alias update_orz update
  12.   def update
  13.     update_orz
  14.     if Graphics.frame_count % 400 == 0
  15.       $game_variables[1] += 1
  16.     end
  17.     if $game_variables[1] >= 60
  18.       $game_variables[2] += 1
  19.       $game_variables[1] = 0
  20.     end
  21.     if $game_variables[2] == 1
  22.       $game_variables[3] = "春"
  23.     end
  24.     if Graphics.frame_count % 100 == 0
  25.       re_windowxx
  26.     end
  27.   end
  28.   def re_windowxx
  29.       @windowxx.contents.clear
  30.       if Graphics.frame_count % 200 == 0
  31.         t = ":"
  32.       else
  33.         t = " "
  34.       end
  35.       s = $game_variables[1].to_s
  36.       s += (t + $game_variables[2].to_s)
  37.       s += (t + $game_variables[3].to_s)
  38.       @windowxx.contents.draw_text(0,0,@windowxx.width - 32,@windowxx.height - 32,s,1)
  39.     end
  40.   end
复制代码





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