查看: 2469|回复: 2

[已经解决] 使用脚本显示文字,怎么在一行显示完后再次执行

[复制链接]
梦石
0
星屑
1442
在线时间
171 小时
注册时间
2019-10-4
回帖
162
发表于 2023-2-11 22:53:55 | 显示全部楼层 |阅读模式

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

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

×
$game_temp.message_text = "你想要的文字"
$game_temp.message_text = "我不想要的文字"
使用事件指令,脚本框执行之后,第一行会被第二行文字,覆盖,直接显示"我不想要的文字"。第一行显示不出来。
我想要的效果是,显示了第一行文字,然后在,显示第二行文字。
梦石
3
星屑
7336
在线时间
608 小时
注册时间
2019-9-15
回帖
112

R考场第七期金奖

发表于 2023-2-12 03:54:50 | 显示全部楼层
本帖最后由 Cupidk爱呗茶 于 2023-2-12 13:15 编辑

如果是在事件脚本中可以用
[pre lang="ruby"]
脚本1:
$game_temp.message_text = "你想要的文字"
@message_waiting = true
$game_temp.message_proc = Proc.new { @message_waiting = false }
脚本2:
$game_temp.message_text = "你想要的文字2"
[/pre]
这也是RMXP默认系统留下的用法  (ps 记得分成两条 每条事件指令都会更新阻塞 写在一起赋值会被覆盖)
大体含义为@message_waiting为true的时候默认系统会无限等待用户输入 使得让我们后面的代码延后执行 Proc.new用来修改用户输入完成后@message_waiting的数值 用来判断是否可以结束阻塞状态

不是事件中执行的话因为没有自带的解释器阻塞 直接赋值代码写在一起无论如何都会被覆盖  所以就需要实现我们自己的阻塞命令 原理和事件中的执行也算是差不多的
[pre lang="ruby"]
$game_temp.message_text = "你想要的文字"
switch = true
$game_temp.message_proc = Proc.new { switch = false }
while(switch) do Graphics.update ; Input.update ; $scene.update end
$game_temp.message_text = "你想要的文字2"   

[/pre]
最后使用时可以进行简单的包装
[pre lang="ruby"]
# 作用于事件
class Interpreter
  def _message(msg) # _message("你想要的文字")
    @message_waiting = true
    $game_temp.message_text = msg
    $game_temp.message_proc = Proc.new { @message_waiting = false }
  end  
end  

# 作用于非事件全局使用 当前场景必须拥有Window_Message.new
class Game_Temp  
  def message_show(msg) #$game_temp.message_show("你想要的文字")
    @message_text = msg ; switch = true
    @message_proc = Proc.new { switch = false }
    while(switch) do Graphics.update ; Input.update ; $scene.update end
  end  
end    [/pre]
事件中
360截图20230212131119008.png
非事件中
360截图20230212130928525.png

评分

参与人数 3星屑 +100 赞 +3 收起 理由
RyanBern + 100 + 1 认可答案
契约师Vi + 1 认可答案
陈大帅帅帅哥 + 1 精品文章

查看全部评分

********
回复 2 0

使用道具 举报

梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

发表于 2023-2-12 10:21:15 | 显示全部楼层
本帖最后由 guoxiaomi 于 2023-2-12 10:25 编辑

建议用文字加强脚本来解决问题
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部