物品介面分為兩個部分,物品資訊和物品列表。此處使用巴哈姆特精華區的姨媽VX整合包作為範例,下圖上方為物品資訊,下方則是物品列表,雖然覺得這不用說還是講一下。
物品資訊底下的程式位在指令碼列表的Window_Help
想改變位置的話需要更動的是初始化的function,預設內容如下
def initialize
super(0, 0, 544, WLH + 32)
end
實際上的內容是
def initialize
super(起始座標X, 起始座標Y, 寬, 高)
end
起始座標指的是物品資訊的最左上角。WLH則是指遊戲中全部文字"一行"的高度,可以在Window_Base中設定。
物品資訊跟技能資訊共用此介面,想分開要另外寫。
物品列表需要的程式則分散在Window_Item和Scene_Item。
Window_Item裡面有初始化的function,不過實際決定位置是在Scene_Item。
def initialize(x, y, width, height)
super(x, y, width, height)
@column_max = 2
self.index = 0
refresh
end
initialize的使用方式可以看物品資訊,VX內建的initialize基本上都是這樣用。
column_max則是一橫排可放置的物品數量,也就是列的數目。
至於Scene_Item,需要看的是這一段。
def start
super
create_menu_background
@viewport = Viewport.new(0, 0, 544, 416)
@help_window = Window_Help.new
@help_window.viewport = @viewport
@item_window = Window_Item.new(0, 56, 544, 360)
@item_window.viewport = @viewport
@item_window.help_window = @help_window
@item_window.active = false
@target_window = Window_MenuStatus.new(0, 0)
hide_target_window
end
重點在藍色那一行,Window_Item.new事實上就是在呼叫Window_Item裡面的initialize。只要更改這邊的參數就可以改變物品介面的位置,不過要記得連資訊介面的位置也一起改動,不然這兩個介面會接不上或是列表壓住資訊,當然如果自己想這樣也行。
另外一點,VX預設的遊戲視窗大小是544*416,如果有移動位置的人要記得這一行的數字最好符合下面的公式(?)
@item_window = Window_Item.new(X,Y, 544-X, 416-Y)
好拉我只是覺得框框底部要貼齊遊戲視窗比較好。
留言列表