查看: 6733|回复: 6

[已经解决] 如何用事件脚本实现地图场景所有窗口刷新?

[复制链接]
梦石
0
星屑
208
在线时间
420 小时
注册时间
2020-1-11
回帖
175
发表于 2021-3-21 17:26:12 | 显示全部楼层 |阅读模式
悬赏100星屑已解决
如题。

最佳答案

查看完整内容

例子: SceneManager.scene.instance_variable_get( :@gold_window).instance_eval{refresh}
梦石
0
星屑
29901
在线时间
5734 小时
注册时间
2016-3-8
回帖
1653
发表于 2021-3-21 17:26:13 | 显示全部楼层
alianlord 发表于 2021-3-21 18:13
不刷新所有窗口,只指定一个窗口刷新,事件脚本该怎么写呢?

例子:
SceneManager.scene.instance_variable_get(
:@gold_window).instance_eval{refresh}
回复

使用道具 举报

梦石
0
星屑
29901
在线时间
5734 小时
注册时间
2016-3-8
回帖
1653
发表于 2021-3-21 17:42:41 | 显示全部楼层
本帖最后由 alexncf125 于 2021-3-21 18:35 编辑

应该是这样吧
  1. if SceneManager.scene.is_a?(Scene_Map)
  2.   SceneManager.scene.instance_variables.each do |vn|
  3.     ivar = SceneManager.scene.instance_variable_get(vn)
  4.     if ivar.is_a?(Window) && ivar.respond_to?(:refresh)
  5.       ivar.refresh
  6.     end
  7.   end
  8. end
复制代码


(注意:
www4.plala.or.jp/findias/codecrush/material/vxace_rgss3/4-quest/index.html
如果使用了比如日站Claimh的任务脚本
Window_QuestResult窗口的def refresh写成了def refresh(data)
是会报错的说, 报错的原因和解決方法不用说明了吧
)
回复

使用道具 举报

梦石
0
星屑
208
在线时间
420 小时
注册时间
2020-1-11
回帖
175
 楼主| 发表于 2021-3-21 18:00:25 | 显示全部楼层

好像不行。

点评

2L更新了  发表于 2021-3-21 18:34
回复

使用道具 举报

梦石
0
星屑
208
在线时间
420 小时
注册时间
2020-1-11
回帖
175
 楼主| 发表于 2021-3-21 18:13:34 | 显示全部楼层

不刷新所有窗口,只指定一个窗口刷新,事件脚本该怎么写呢?
回复

使用道具 举报

梦石
0
星屑
208
在线时间
420 小时
注册时间
2020-1-11
回帖
175
 楼主| 发表于 2021-3-21 22:10:47 | 显示全部楼层
已经理解了。谢谢。
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部