#============================================================================== # ○簡易デバッグテキスト表示 Ver1.10 # for RGSS2 # 西瓜 / Space not far # http://muspell.raindrop.jp/ # デバッグシーンやダイアログを使わずに変数情報を画面に表示することができます。 #============================================================================== # ■更新履歴 # Ver1.10 # ・同時に複数の情報を表示できるように機能を拡張。 #============================================================================== # SDEBUG.print(変数):変数を画面下部に表示します。 # 最大でLIMITまでの数の情報が同時に表示されます。 # 上限を超えた場合古いものが押し出されます。 # すでに表示されている変数は消えます。 # SDEBUG.clear :表示されている変数を消します。 module SDEBUG LIMIT = 8 # 最大表示数 BOLD = true # 太字 TESTONLY = true # テストプレイ時のみ有効 BACK_OPACITY = 96 # バックの不透明度(0〜255) def self.print(value = "") return if TESTONLY and not $TEST $debug_sprite.dispose unless $debug_sprite.nil? $debug_sprite = Sprite.new $debug_sprite.bitmap = Bitmap.new(544, 416) $debug_sprite.bitmap.font.size = 10 $debug_sprite.bitmap.font.bold = BOLD $debug_sprite.bitmap.font.color = Color.new(255, 255, 255) $debug_sprite.bitmap.fill_rect(0, 0, 544, 12 * LIMIT, Color.new(0, 0, 0, BACK_OPACITY)) if value.is_a?(String) text = value elsif value.is_a?(Integer) text = value.to_s elsif value.is_a?(Array) value = value.flatten text = value.join(',') else text = value end $debug_txt = [] if $debug_txt == nil $debug_txt.shift if $debug_txt.size == LIMIT $debug_txt.push(text) i = 0 for deb in $debug_txt $debug_sprite.bitmap.draw_text(0, i * 12, 544, LIMIT, deb, 0) i += 1 end $debug_sprite.z += 500 $debug_sprite.y += 416 - (LIMIT * 12) end def self.clear $debug_txt = [] $debug_sprite.dispose unless $debug_sprite.nil? end end