Project1

标题: 模仿别的脚本写了个统计的页面,结果出现问题,求教一下 [打印本页]

作者: 踢腿水上飘    时间: 2017-2-27 16:09
标题: 模仿别的脚本写了个统计的页面,结果出现问题,求教一下
模仿别的脚本写了个统计的页面,可以进入统计界面了,但是退不出来,而且文字都挤在一起了,求教是什么问题,咋改呀?

效果如题,在这里按ESC也退不出去,而且文字都挤在一起了
另外,窗口的内容没法往下滚动,如果项目多了,下面的就显示不出来了
麻烦高手帮忙解决这个问题呀~


RUBY 代码复制
  1. #==============================================================================
  2. # ** Window_Tongji
  3. #==============================================================================
  4. class Window_Tongji < Window_Selectable
  5.   #----------------------------------------------------------------------------
  6.   # * 初始化
  7.   #----------------------------------------------------------------------------
  8.   def initialize
  9.     super(0, 0, Graphics.width, Graphics.height)
  10.     refresh
  11.   end
  12.   #----------------------------------------------------------------------------
  13.   # * 刷新画面
  14.   #----------------------------------------------------------------------------
  15.   def update
  16.     super
  17.     refresh
  18.     end
  19.   #----------------------------------------------------------------------------
  20.   # * 更新内容
  21.   #----------------------------------------------------------------------------
  22.   def refresh
  23.     self.contents.clear
  24.     draw_text(x, y, 640, line_height, "统计", 1)
  25.     draw_text(x, y, 350, line_height*3, "破敌数", 0)
  26.     draw_text(x, y, 550, line_height*3, $game_variables[21], 2)
  27.     draw_text(x, y, 350, line_height*4, "测试1", 0)
  28.     draw_text(x, y, 550, line_height*4, $game_variables[21], 2)
  29.     draw_text(x, y, 350, line_height*5, "测试2", 0)
  30.     draw_text(x, y, 550, line_height*5, $game_variables[21], 2)
  31.     draw_text(x, y, 350, line_height*6, "测试3", 0)
  32.     draw_text(x, y, 550, line_height*6, $game_variables[21], 2)
  33.     draw_text(x, y, 350, line_height*7, "测试4", 0)
  34.     draw_text(x, y, 550, line_height*7, $game_variables[21], 2)
  35.     draw_text(x, y, 350, line_height*8, "测试5", 0)
  36.     draw_text(x, y, 550, line_height*8, $game_variables[21], 2)
  37.    end
  38. end
  39.   #----------------------------------------------------------------------------
  40.   # * 呼叫界面
  41.   #----------------------------------------------------------------------------
  42. class Call_Tongji < Scene_Base
  43.   def start
  44.     super     
  45.     create_tongji_window
  46.   end
  47.   #----------------------------------------------------------------------------
  48.   # * 创建统计窗口
  49.   #----------------------------------------------------------------------------
  50.   def create_tongji_window
  51.     @tongji_window = Window_Tongji.new
  52.     @tongji_window.set_handler(:cancel,method(:return_scene))
  53.   end
  54. end

作者: 魔法丶小肉包    时间: 2017-2-27 17:05
本帖最后由 魔法丶小肉包 于 2017-2-27 17:09 编辑

帮楼主改了一下脚本,看一下吧w 默认不翻页,1号开关打开时按上下键翻页,注意此时2号变量的值为文本行数,若不设置则什么都不会显示。
2号变量配合1号开关一起使用,不翻页的情况是考虑到文本未满一页,如超过一页则打开1号开关即可,有多少行文本就2号变量设置多少
RUBY 代码复制
  1. #==============================================================================
  2.     # ** Window_Tongji
  3.     #==============================================================================
  4.     class Window_Tongji < Window_Selectable
  5.       #----------------------------------------------------------------------------
  6.       # * 初始化
  7.       #----------------------------------------------------------------------------
  8.       def initialize
  9.         super(0, 0, Graphics.width, Graphics.height)
  10.         refresh
  11.         activate
  12.       end
  13.       def contents_height
  14.         $game_switches[1]?$game_variables[2] * 24 : super
  15.       end
  16.       #----------------------------------------------------------------------------
  17.       # * 刷新画面
  18.       #----------------------------------------------------------------------------
  19.       def update
  20.         super
  21.         refresh
  22.         if Input.trigger?(:UP)
  23.           if self.oy <= 0
  24.             self.oy = 0
  25.           else
  26.             self.oy -= 24
  27.           end
  28.         end
  29.         if Input.trigger?(:DOWN)
  30.           if $game_switches[1]
  31.            if self.oy >= contents_height - (416-125)
  32.              self.oy = contents_height - (416-125)
  33.            else
  34.              self.oy += 24
  35.            end
  36.           end
  37.         end
  38.       end
  39.       #----------------------------------------------------------------------------
  40.       # * 更新内容
  41.       #----------------------------------------------------------------------------
  42.       def refresh
  43.         self.contents.clear
  44.         draw_text(x, y, 640, line_height, "统计", 1)
  45.         draw_text(x, y, 350, line_height*3, "破敌数", 0)
  46.         draw_text(x, y+line_height*0, 550, line_height*3, $game_variables[21], 2)
  47.         draw_text(x, y+line_height*1, 350, line_height*4, "测试1", 0)
  48.         draw_text(x, y+line_height*1, 550, line_height*4, $game_variables[21], 2)
  49.         draw_text(x, y+line_height*2, 350, line_height*5, "测试2", 0)
  50.         draw_text(x, y+line_height*2, 550, line_height*5, $game_variables[21], 2)
  51.         draw_text(x, y+line_height*3, 350, line_height*6, "测试3", 0)
  52.         draw_text(x, y+line_height*3, 550, line_height*6, $game_variables[21], 2)
  53.         draw_text(x, y+line_height*4, 350, line_height*7, "测试4", 0)
  54.         draw_text(x, y+line_height*4, 550, line_height*7, $game_variables[21], 2)
  55.         draw_text(x, y+line_height*5, 350, line_height*8, "测试5", 0)
  56.         draw_text(x, y+line_height*5, 550, line_height*8, $game_variables[21], 2)
  57.        end
  58.     end
  59.       #----------------------------------------------------------------------------
  60.       # * 呼叫界面
  61.       #----------------------------------------------------------------------------
  62.     class Call_Tongji < Scene_Base
  63.       def start
  64.         super     
  65.         create_tongji_window
  66.       end
  67.       #----------------------------------------------------------------------------
  68.       # * 创建统计窗口
  69.       #----------------------------------------------------------------------------
  70.       def create_tongji_window
  71.         @tongji_window = Window_Tongji.new
  72.         @tongji_window.set_handler(:cancel,method(:return_scene))
  73.       end
  74.     end





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