设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3094|回复: 1
打印 上一主题 下一主题

[已经解决] 請問如何讀取事件中打入的文本?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1388
在线时间
343 小时
注册时间
2016-7-17
帖子
132
跳转到指定楼层
1
发表于 2017-5-14 15:49:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
事情是這樣的,我想嘗試寫一個ADV遊戲的腳本,可是在作回顧的這個功能時,不知道程式怎麼讀取文本,
求大神幫忙了。

window_message裡面處理文字的方法

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21631
在线时间
9415 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

2
发表于 2017-5-14 16:39:21 | 只看该作者
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
复制代码

评分

参与人数 2星屑 +10 梦石 +1 收起 理由
RaidenInfinity + 1 认可答案
b200077 + 10 精品文章

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-17 11:02

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表