Project1

标题: 请教一个问题(脚本) [打印本页]

作者: kvkv97    时间: 2013-12-13 17:30
标题: 请教一个问题(脚本)
class Window_Selectable < Window_Base
  #--------------------------------------------------------------------------
  # ● 定义实例变量
  #--------------------------------------------------------------------------
  attr_reader   :index                   # 光标位置
  attr_reader   :help_window              # 帮助窗口
  #--------------------------------------------------------------------------
  # ● 初始画对像
  #     x      : 窗口的 X 坐标
  #     y      : 窗口的 Y 坐标
  #     width  : 窗口的宽
  #     height : 窗口的高
  #--------------------------------------------------------------------------
def initialize(x, y, width, height)
    super(x, y, width, height)
    @item_max = 1
    @column_max = 1
    @Index = -1
  end
  #--------------------------------------------------------------------------
  # ● 设置光标的位置
  #     index : 新的光标位置
  #--------------------------------------------------------------------------
  def index=(index)                                                                     这里为什么重新定义了,难道上面定义不能用吗?调用函数时,是调用index=(index)还是index=或是index,结果是怎样的?   
   @index = index
    # 刷新帮助文本 (update_help 定义了继承目标)
    if self.active and @help_window != nil
      update_help
    end
    # 刷新光标矩形
    update_cursor_rect
  end
  
  #--------------------------------------------------------------------------
  # ● 设置开头行
  #     row : 显示开头的行
  #--------------------------------------------------------------------------
  def top_row=(row)                                                                      top_row=(row)这个格式是什么意思? XXXX=?(YYY)是什么意思,F1里面没说明。
    # row 未满 0 的场合更正为 0
    if row < 0
      row = 0
    end
    if row > row_max - 1
      row = row_max - 1
    end
    # row 1 行高的 32 倍、窗口内容的传送源 Y 坐标
    self.oy = row * 32
  end
  #--------------------------------------------------------------------------
  # ● 获取 1 页可以显示的行数
  #--------------------------------------------------------------------------
  def page_row_max
    # 窗口的高度,设置画面的高度减去 32 ,除以 1 行的高度 32
    return (self.height - 32) / 32
  end
  #--------------------------------------------------------------------------
  # ● 获取 1 页可以显示的项目数
  #--------------------------------------------------------------------------
  def page_item_max
    # 将行数 page_row_max 乘上列数 @column_max
    return page_row_max * @column_max
  end
  #--------------------------------------------------------------------------
  # ● 帮助窗口的设置
  #     help_window : 新的帮助窗口
  #--------------------------------------------------------------------------
  def help_window=(help_window)
    @help_window = help_window
    # 刷新帮助文本 (update_help 定义了继承目标)
    if self.active and @help_window != nil
      update_help
    end
  end


大虾,能给我个完全汉化了的脚本吗?就是XP汉化版(要完全汉化的)
作者: tamashii    时间: 2013-12-13 20:30
什么叫完全汉化?这个汉化不已经完全了吗?
不知道楼主学没学过C#
attr_reader   :index  这个定义的是一个只读属性,没有定义这个属性的写操作
然后
def index=(index) 定义了属性的写操作

def XXX=(xxx) 就是定义XXX这个属性的写操作。由于写的操作需要给一个写入的值作为参数,所以才有了xxx这个参数。
其实你完全可以把这个看作是一个“具有一个参数且会改变成员变量值”的一个函数,调用方法为XXX后面加上等号。XXX和等号中间可以有空白
如 XXX = 1、 XXX=2 都是可以的。




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