赞 | 287 |
VIP | 11 |
好人卡 | 74 |
积分 | 226 |
经验 | 281171 |
最后登录 | 2024-11-16 |
在线时间 | 9415 小时 |
Lv5.捕梦者 (暗夜天使) 只有笨蛋才会看到
- 梦石
- 1
- 星屑
- 21631
- 在线时间
- 9415 小时
- 注册时间
- 2012-6-19
- 帖子
- 7118
|
Game_Interpreter 的 command_101(以及command_105)会在事件执行显示对话指令时,将文本的内容加入到 $game_message 中,window_message 则负责实时检测 $game_message 中是不是有内容,如果有内容的话,显示这些内容并清空 $game_message
所以下面提供一个针对 command_101 的对话纪录的思路
-
- $store = 储存对话纪录的东西
- def command_101
- wait_for_message
- $game_message.face_name = @params[0]
- $game_message.face_index = @params[1]
- $game_message.background = @params[2]
- $game_message.position = @params[3]
- while next_event_code == 401 # 文字数据
- @index += 1
- $game_message.add(@list[@index].parameters[0])
- $store.pre_add(@list[@index].parameters[0])
- # 将对话的内容加入到对话纪录中,由于在这个阶段对话还没有显示,所以先插入到 pre_add 里
- # 对话有几行,pre_add 就会执行几次
- end
- case next_event_code
- when 102 # 显示选项
- @index += 1
- setup_choices(@list[@index].parameters)
- when 103 # 数值输入的处理
- @index += 1
- setup_num_input(@list[@index].parameters)
- when 104 # 物品选择的处理
- @index += 1
- setup_item_choice(@list[@index].parameters)
- end
- wait_for_message
- $store.add
- # 在这个阶段,对话已经全部显示完毕,所以执行一次 add 将之前添加到 pre_add 中的对话正式加入纪录中
- end
复制代码 |
评分
-
查看全部评分
|