|
要製作一個窗口,首先要打開腳本編輯器,新建一頁腳本
|
|
然後你要給你的窗口取一個名字,名字最好是英文的,我取的是: Window_PS 輸入到右下角那個名稱欄里 然後在編輯區里打上: #============================================================================== # ■ Window_PS #------------------------------------------------------------------------------ # 在這裡寫上腳本用途或什麼窗口。 #==============================================================================
class Window_PS < Window_Base
|
|
這樣就定義了一個新類。 在class的下面打上end,結束這個類,否則會腳本錯誤 注意class和end一定要在最同一條直線上,例如: class end 不能是 class end 然後你需要調整一些窗口參數 在class與end中間打上: #-------------------------------------------------------------------------- # ● 初始化窗口 #-------------------------------------------------------------------------- def initialize # 初始化數據庫 @sez = []
super(0, 0, 160, 64)# 窗口位置(格式:左上角頂點x坐標,左上角頂點y坐標 # ,窗口長度,窗口寬度) self.contents = Bitmap.new(width - 32, height - 32)#這個不用管 refresh#標籤跳轉,標籤名隨便 end
上面的值可以任意改
|
|
然後你需要設置窗口的透明度。 在@sez=[]的下面打上: @sez[1]=244# 邊框透明度 @sez[2]=144# 背景透明度 @sez[3]=255# 文字透明度
若要使窗口能開能關,必須設置關閉時的透明度。 關閉時窗口完全隱藏,所以邊框背景文字都應該為0。 如果你要使關閉時的窗口微微可見,可以改一下,不要調的太大了 如: @sez[4]=0 @sez[5]=0 @sez[6]=0 這些都可以調整
|
|
窗口初始化完畢,現在需要刷新窗口中的文字,打上: #-------------------------------------------------------------------------- # ● 刷新 #-------------------------------------------------------------------------- def pds end 用於刷新窗口文字
|
|
最好弄一個開關來控制窗口是否隱藏 ,我設為開關64 def pds是標籤名,你上面寫什麼就打什麼。 上面寫的是refresh#標籤跳轉,標籤名隨便,所以應該改成def refresh
|
|
def refresh # 應用窗口透明度 if $game_switches[64] self.back_opacity = @sez[1] self.contents_opacity = @sez[2] self.opacity = @eso3 = @sez[3] else self.back_opacity = @sez[4] self.contents_opacity = @sez[5] self.opacity = @eso3 = @sez[6] end self.contents.draw_text(4, 0 , width - 40, 32,"窗口中顯示的文字",1) self.contents.draw_text(8, 0 , width - 40, 32,"第二行",1) self.contents.draw_text(12, 0 , width - 40, 32,"第三行",1) end
|
|
運行遊戲,窗口竟沒有出現,怎麼辦呢? 原來,我們沒有設置顯示窗口。 轉到Scene_Map類,在 # 生成信息窗口 @message_window = Window_Message.new 的下面打上: @window1 = Window_PS.new
在 # 釋放信息窗口 @message_window.dispose 的下面打上: @window1.dispose
在 # 刷新信息窗口 @message_window.update 的下面打上 @window1.refresh 注意後面那個refresh是標籤名
再次運行遊戲,成功 這只是一個簡單的樣例,更複雜的就要看各位作者了
|