查看: 3098|回复: 4

[已经解决] 如何实现用事件打开说明窗口?

[复制链接]
梦石
0
星屑
208
在线时间
420 小时
注册时间
2020-1-11
回帖
175
发表于 2021-2-8 22:16:37 | 显示全部楼层 |阅读模式

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

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

×
比如说,踏上某个格子。然后就弹出一个窗口说明这里前面10步有道具店。不想用对话,想用画面上方一个窗口显示。
古思良久,终未寻得善法。还请不吝指教,谢谢。
梦石
0
星屑
29901
在线时间
5734 小时
注册时间
2016-3-8
回帖
1653
发表于 2021-2-8 23:53:08 | 显示全部楼层
如果你说的"说明窗口"是指Window_Help的话, 用纯事件应该是无法实现的...
脚本的解決方案, 随便搜一搜应该都有十个八个吧...
我就写个简陋的你看看能用不...

[pre lang="ruby"]module HELP_WINDOW
  REGION_ID = 1          #踏入此ID的区域时显示帮助窗口
  TEXT_VAR = 1          #此ID的变量用于儲存帮助窗口的內容
  LINE_HEIGHT = 1          #帮助窗口的行数, 如果设成2+, 那內容如何换行我就不知道了~~
end

class Scene_Map < Scene_Base
  #--------------------------------------------------------------------------
  # ● 更新画面
  #--------------------------------------------------------------------------
  alias update_with_help_window update
  def update
    update_with_help_window
    unless @help_window_text == help_window_text
      @help_window_text = help_window_text
      @help_window.set_text(@help_window_text)
    end
    if $game_map.region_id($game_player.x, $game_player.y) == HELP_WINDOW::REGION_ID && !@help_window_text.empty?
      @help_window.visible = true
    elsif @help_window.visible == true
      @help_window.visible = false
      $game_variables[HELP_WINDOW::TEXT_VAR] = ""
    end
  end
  #--------------------------------------------------------------------------
  # ● 生成所有窗口
  #--------------------------------------------------------------------------
  alias create_all_windows_with_help_window create_all_windows
  def create_all_windows
    create_all_windows_with_help_window
    create_help_window
  end
  #--------------------------------------------------------------------------
  # ● 生成帮助窗口
  #--------------------------------------------------------------------------
  def create_help_window
    @help_window = Window_Help.new(HELP_WINDOW::LINE_HEIGHT)
    @help_window.visible = false
  end
  #--------------------------------------------------------------------------
  # ● 获取帮助窗口的文本
  #--------------------------------------------------------------------------
  def help_window_text
    return $game_variables[HELP_WINDOW::TEXT_VAR] == 0 ? "" : $game_variables[1].to_s
  end
end [/pre]

评分

参与人数 1赞 +1 收起 理由
alianlord + 1 我很赞同

查看全部评分

回复 1 0

使用道具 举报

梦石
0
星屑
208
在线时间
420 小时
注册时间
2020-1-11
回帖
175
 楼主| 发表于 2021-2-9 00:10:40 | 显示全部楼层
谢谢,我这就前去调试。
回复

使用道具 举报

梦石
10
星屑
9514
在线时间
1291 小时
注册时间
2014-11-2
回帖
30

开拓者

发表于 2021-2-9 18:32:15 | 显示全部楼层
不知道楼主的问题解决没有。我自己有一个功能差不多的,你不嫌弃可以拿去用。

https://rpg.blue/thread-484462-1-1.html

带有范例工程的,不清除可以下载看看。
迷你型机器人,bibibibibi~~
回复

使用道具 举报

梦石
0
星屑
208
在线时间
420 小时
注册时间
2020-1-11
回帖
175
 楼主| 发表于 2021-2-10 11:07:16 | 显示全部楼层
迷你及其人 发表于 2021-2-9 18:32
不知道楼主的问题解决没有。我自己有一个功能差不多的,你不嫌弃可以拿去用。

https://rpg.blue/thread-48 ...

谢谢热心帮助。下载研究中。
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部