Project1

标题: [转载]文字显示 多行数 显示 [打印本页]

作者: z2z4    时间: 2013-4-22 19:30
标题: [转载]文字显示 多行数 显示
本帖最后由 feizhaodan 于 2013-4-23 11:18 编辑

                                和对话系统 有严重的冲突

                       「显示文字」第一行「header」写进去  重点
                        显示滚动文字 来写 你的显示的文字
                      LONG_TEXT_VAR = 17       # 变量的ID 来改变行数

                  
   
RUBY 代码复制
  1. #==============================================================================
  2. #                   「ロングメッセージ」(ACE) ver1.1  by奈々
  3. #
  4. #   ◇使用規約
  5. #   使用される場合はスクリプト作成者として「奈々」を明記して下さい。
  6. #   このスクリプトを改変したり、改変したものを配布するなどは自由ですが
  7. #   その場合も元のスクリプトの作成者として名前は載せて下さい。
  8. #
  9. #------------------------------------------------------------------------------
  10. #
  11. #   デフォルトでは4行で固定の「文章の表示」を好きな行に可変させます。
  12. #   (ロングメッセージと言いつつ、ショートメッセージも作れます)
  13. #   また「文章のスクロール表示」を使って長いテキストを1回で入力できます。
  14. #   
  15. #   可変行の使い方は、初期設定で指定したIDの変数を操作するだけです。
  16. #   変数に0が入っているときはデフォルトの4行で表示されます。
  17. #   
  18. #   イベントコマンド「显示文字」第一行「header」写进去
  19. #   その直後に「文章のスクロール表示」を置くことで
  20. #   スクロール表示ではなく、通常の文章の表示として使用できます。
  21. #   (顔グラや表示位置などの設定はheaderのものが適用される)
  22. #   他のイベントコマンド(注釈含む)が間に入っていると機能しませんので注意。
  23. #
  24. #==============================================================================
  25. # ◇初期設定
  26. module NanaSeven
  27.   LONG_TEXT_VAR = 17       # 显示文字行数 更改变量的ID
  28.                            # 0为无效化
  29. end
  30.  
  31. #==============================================================================
  32. # ■ Window_Message
  33. #------------------------------------------------------------------------------
  34. #  文章表示に使うメッセージウィンドウです。
  35. #==============================================================================
  36.  
  37. class Window_Message < Window_Base
  38.   #--------------------------------------------------------------------------
  39.   # ● 表示行数の取得
  40.   #--------------------------------------------------------------------------
  41.   def visible_line_number
  42.     if $game_variables[NanaSeven::LONG_TEXT_VAR] > 0
  43.       return $game_variables[NanaSeven::LONG_TEXT_VAR]
  44.     else
  45.       return 4
  46.     end
  47.   end
  48. end
  49.  
  50. #==============================================================================
  51. # ■ Game_Interpreter
  52. #------------------------------------------------------------------------------
  53. #  イベントコマンドを実行するインタプリタです。このクラスは Game_Map クラス、
  54. # Game_Troop クラス、Game_Event クラスの内部で使用されます。
  55. #==============================================================================
  56.  
  57. class Game_Interpreter
  58.   #--------------------------------------------------------------------------
  59.   # ● 文章の表示(再定義)
  60.   #--------------------------------------------------------------------------
  61.   def command_101
  62.     wait_for_message
  63.     SceneManager.scene.create_message_window
  64.     $game_message.face_name = @params[0]
  65.     $game_message.face_index = @params[1]
  66.     $game_message.background = @params[2]
  67.     $game_message.position = @params[3]
  68.     while next_event_code == 401       # 文章データ
  69.       @index += 1
  70.       header = (@list[@index].parameters[0] == "header")
  71.       $game_message.add(@list[@index].parameters[0]) unless header
  72.     end
  73.     while next_event_code == 105
  74.       @index += 1 if header
  75.     end
  76.     while next_event_code == 405
  77.       if header
  78.         @index += 1
  79.         $game_message.add(@list[@index].parameters[0])
  80.       end
  81.     end
  82.     case next_event_code
  83.     when 102  # 選択肢の表示
  84.       @index += 1
  85.       setup_choices(@list[@index].parameters)
  86.     when 103  # 数値入力の処理
  87.       @index += 1
  88.       setup_num_input(@list[@index].parameters)
  89.     when 104  # アイテム選択の処理
  90.       @index += 1
  91.       setup_item_choice(@list[@index].parameters)
  92.     end
  93.     wait_for_message
  94.   end
  95. end





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1