赞 | 6 |
VIP | 132 |
好人卡 | 24 |
积分 | 8 |
经验 | 81718 |
最后登录 | 2025-2-15 |
在线时间 | 2065 小时 |
Lv2.观梦者
- 梦石
- 0
- 星屑
- 758
- 在线时间
- 2065 小时
- 注册时间
- 2011-10-3
- 帖子
- 1686
|
这个吧- module WhiteSnow
- CONTENTS_SIZE = 6
- # 表示する変数の数
-
- CONTENTS = [
- [ { "\\i[10]" => 0 } , {"\\v[15]" => 2} ],
- [ { "\\i[11]" => 0 } , {"\\v[16]" => 2} ],
- [ { "\\i[13]" => 0 } , {"\\v[17]" => 2} ],
- [ { "\\i[14]" => 0 } , {"\\v[18]" => 2} ],
- [ { "\\i[12]" => 0 } , {"\\v[19]" => 2} ],
- [ { "\\i[15]" => 0 } , {"\\v[20]" => 2} ],
- ]
- # 表示テキスト
- # \\i[n]でn番のアイコンを描画、\\v[n]でn番の変数の値を描画します
- end
-
- #==============================================================================
- # ■ Window_VariablesView
- #==============================================================================
- class Window_VariablesView < Window_Selectable
- #--------------------------------------------------------------------------
- # ● オブジェクト初期化
- #--------------------------------------------------------------------------
- def initialize
- #~ super(0,0, window_width, fitting_height(WhiteSnow::CONTENTS_SIZE))
- super(0,0, window_width, fitting_height(item_max))
- refresh
- end
- #--------------------------------------------------------------------------
- # ● ウィンドウ幅の取得
- #--------------------------------------------------------------------------
- def window_width
- return 160
- end
- #--------------------------------------------------------------------------
- # ● 項目数の取得
- #--------------------------------------------------------------------------
- def item_max
- #~ return WhiteSnow::CONTENTS_SIZE
- WhiteSnow::CONTENTS_SIZE - (WhiteSnow::CONTENTS_SIZE / 2)
- end
- #--------------------------------------------------------------------------
- # ● リフレッシュ
- #--------------------------------------------------------------------------
- def refresh
- contents.clear
- WhiteSnow::CONTENTS_SIZE.times do |i|
- WhiteSnow::CONTENTS[i].each do |content|
- t = content.keys.pop
- text = t.dup
- unless text.scan(/\\v\[(\d+)\]/).empty?
- text_v = text.gsub(/\\v\[(\d+)\]/) { "#{$game_variables[$1.to_i]}" }
- text.nil?
- text = "" if text.nil?
- end
- flag = true if text.scan(/\\i\[(\d+)\]/)
- icon_index = $1.to_i
- text_p = text.dup
- text.gsub!(/\\i\[\d+\]/) { "" }
-
- # 座標計算追加----------------------
- item_width_x = item_width / 2
- x = (i % 2) * item_width_x
- y = (i / 2) * item_height
- # ------------------------------------
-
- if flag
- case content[text_p]
- when 0
- #~ draw_icon(icon_index, 0, i * 24)
- draw_icon(icon_index, x, y)
- when 1
- #~ draw_icon(icon_index, item_width / 2 - 12, i * 24)
- draw_icon(icon_index, x + item_width_x / 2 - 12, y)
- when 2
- #~ draw_icon(icon_index, item_width, i * 24)
- draw_icon(icon_index, x + item_width_x, y)
- end
- end
- if text_v
- #~ draw_text(0, i * 24, item_width, item_height, text_v, content[text])
- draw_text(x, y, item_width_x, item_height, text_v, content[text])
- else
- #~ draw_text(0, i * 24, item_width, item_height, text, content[text]) unless text.empty?
- draw_text(x, y, item_width_x, item_height, text, content[text]) unless text.empty?
- end
- end
- end
- end
- #--------------------------------------------------------------------------
- # ● ウィンドウを開く
- #--------------------------------------------------------------------------
- def open
- refresh
- super
- end
- end
- #==============================================================================
- # ■ Scene_Menu
- #------------------------------------------------------------------------------
- # メニュー画面の処理を行うクラスです。
- #==============================================================================
- class Scene_Menu < Scene_MenuBase
- #--------------------------------------------------------------------------
- # ● 開始処理
- #--------------------------------------------------------------------------
- alias variables_view_start start
- def start
- variables_view_start
- create_variables_window
- end
- #--------------------------------------------------------------------------
- # ● 変数ウィンドウの作成
- #--------------------------------------------------------------------------
- def create_variables_window
- @variables_window = Window_VariablesView.new
- @variables_window.x = 0
- #@variables_window.y = Graphics.height - @gold_window.height - @variables_window.height
- @variables_window.y = @command_window.height
- end
- end
复制代码 |
|