Project1

标题: 請問如何讀取事件中打入的文本? [打印本页]

作者: b200077    时间: 2017-5-14 15:49
标题: 請問如何讀取事件中打入的文本?
事情是這樣的,我想嘗試寫一個ADV遊戲的腳本,可是在作回顧的這個功能時,不知道程式怎麼讀取文本,
求大神幫忙了。

window_message裡面處理文字的方法

作者: 喵呜喵5    时间: 2017-5-14 16:39
Game_Interpreter 的 command_101(以及command_105)会在事件执行显示对话指令时,将文本的内容加入到 $game_message 中,window_message 则负责实时检测 $game_message 中是不是有内容,如果有内容的话,显示这些内容并清空 $game_message

所以下面提供一个针对 command_101 的对话纪录的思路


  1.   
  2.   $store = 储存对话纪录的东西

  3.   def command_101
  4.     wait_for_message
  5.     $game_message.face_name = @params[0]
  6.     $game_message.face_index = @params[1]
  7.     $game_message.background = @params[2]
  8.     $game_message.position = @params[3]
  9.     while next_event_code == 401       # 文字数据
  10.       @index += 1
  11.       $game_message.add(@list[@index].parameters[0])

  12.       $store.pre_add(@list[@index].parameters[0])
  13.       # 将对话的内容加入到对话纪录中,由于在这个阶段对话还没有显示,所以先插入到 pre_add 里
  14.       # 对话有几行,pre_add 就会执行几次

  15.     end
  16.     case next_event_code
  17.     when 102  # 显示选项
  18.       @index += 1
  19.       setup_choices(@list[@index].parameters)
  20.     when 103  # 数值输入的处理
  21.       @index += 1
  22.       setup_num_input(@list[@index].parameters)
  23.     when 104  # 物品选择的处理
  24.       @index += 1
  25.       setup_item_choice(@list[@index].parameters)
  26.     end
  27.     wait_for_message

  28.     $store.add
  29.     # 在这个阶段,对话已经全部显示完毕,所以执行一次 add 将之前添加到 pre_add 中的对话正式加入纪录中

  30.   end
复制代码





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