david_ng223 发表于 2014-2-7 15:54
這樣就 参数错误 4 for 2這樣就
@pokemon_window = Window_Pokemon.new(136, 0)[/pre]
现在你需要改的是宽度
但是很明显 new没有提供改宽度的方法
但是一个Window需要宽度 这个宽度从哪里来呢?class Window_Command < Window_Selectable #-------------------------------------------------------------------------- # ● 初始化对象 #-------------------------------------------------------------------------- def initialize(x, y) clear_command_list make_command_list super(x, y, window_width, window_height) refresh select(0) activate end
class Window_Command < Window_Selectable
#--------------------------------------------------------------------------
# ● 初始化对象
#--------------------------------------------------------------------------
def initialize(x, y)
clear_command_list
make_command_list
super(x, y, window_width, window_height)
refresh
select(0)
activate
end
注意 这个super(x, y, window_width, window_height)就是呼叫父类中的同名方法 也就是Window_Selectable的newclass Window_Selectable < Window_Base #-------------------------------------------------------------------------- # ● 初始化对象 #------------------------------------------------------------------------- def initialize(x, y, width, height)
class Window_Selectable < Window_Base
#--------------------------------------------------------------------------
# ● 初始化对象
#-------------------------------------------------------------------------
def initialize(x, y, width, height)
看来Window_Selectable的new和Window_Base一样都是四个参数 x y 宽 高
于是再次集中注意力到super(x, y, window_width, window_height)
很明显x y是你传进去的(def initialize(x, y))但是window_width, window_height是什么呢#-------------------------------------------------------------------------- # ● 获取窗口的宽度 #-------------------------------------------------------------------------- def window_width return 160 end #-------------------------------------------------------------------------- # ● 获取窗口的高度 #-------------------------------------------------------------------------- def window_height fitting_height(visible_line_number) end
#--------------------------------------------------------------------------
# ● 获取窗口的宽度
#--------------------------------------------------------------------------
def window_width
return 160
end
#--------------------------------------------------------------------------
# ● 获取窗口的高度
#--------------------------------------------------------------------------
def window_height
fitting_height(visible_line_number)
end
其中fitting_height(visible_line_number)获取合适的高度(自适应) 所以不用管它 我们需要调整window_width
当然 我们不能直接在Window_Command里面改 我们只需要在Window_Pokemon中覆盖这个方法就可以了
在Window_Pokemon类中 加入如下代码段def window_width return 408 end
def window_width
return 408
end
|