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

Project1

 找回密码
 注册会员
搜索
查看: 72|回复: 4

[已经解决] 请教每次读档时都执行一次"$game_map.need_refresh=true"命令的方法

[复制链接]

Lv3.寻梦者

梦石
0
星屑
4694
在线时间
178 小时
注册时间
2015-5-8
帖子
434
发表于 2020-2-11 17:03:58 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 taeckle 于 2020-2-11 17:21 编辑

1. 这个读档的设定和修改不知道在哪里,想每次读档进入游戏就自动刷新一下当前所在的地图。

2. 还有一个问题:如何在读任意一个档进入游戏的时候自动执行一次第100号公共事件啊?

还请大神指点我一下这两个问题,多谢了!

Lv4.逐梦者

梦石
0
星屑
6141
在线时间
447 小时
注册时间
2017-9-28
帖子
173
发表于 2020-2-11 19:38:43 | 显示全部楼层
1. Scene_Load#on_decision,在最后加 $game_map.need_refresh = true 就行了
2. 还是原来的位置,加一行 $game_temp.common_event_id = 100

评分

参与人数 1星屑 +50 收起 理由
RyanBern + 50 认可答案

查看全部评分

喵喵喵
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4694
在线时间
178 小时
注册时间
2015-5-8
帖子
434
 楼主| 发表于 2020-2-12 07:13:49 | 显示全部楼层
本帖最后由 taeckle 于 2020-2-12 07:14 编辑
hyrious 发表于 2020-2-11 19:38
1. Scene_Load#on_decision,在最后加 $game_map.need_refresh = true 就行了
2. 还是原来的位置,加一行 $ ...


大神请问下是在这里增加吗:

class Scene_Load < Scene_File
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #--------------------------------------------------------------------------
  def initialize
    # 再生成临时对像
    $game_temp = Game_Temp.new
    # 选择存档时间最新的文件
    $game_temp.last_file_index = 0
    latest_time = Time.at(0)
    for i in 0..3
      filename = make_filename(i)
      if FileTest.exist?(filename)
        file = File.open(filename, "r")
        if file.mtime > latest_time
          latest_time = file.mtime
          $game_temp.last_file_index = i
        end
        file.close
      end
    end
    super("要载入哪个文件?")
  end
  #--------------------------------------------------------------------------
  # ● 确定时的处理
  #--------------------------------------------------------------------------
  def on_decision(filename)
    # 文件不存在的情况下
    unless FileTest.exist?(filename)
      # 演奏冻结 SE
      $game_system.se_play($data_system.buzzer_se)
      return
    end
    # 演奏读档 SE
    $game_system.se_play($data_system.load_se)
    # 写入存档数据
    file = File.open(filename, "rb")
    read_save_data(file)
    file.close
    # 还原 BGM、BGS
    $game_system.bgm_play($game_system.playing_bgm)
    $game_system.bgs_play($game_system.playing_bgs)
    # 刷新地图 (执行并行事件)
    $game_map.update
    # 切换到地图画面
    $scene = Scene_Map.new
  end
  #--------------------------------------------------------------------------
  # ● 取消时的处理
  #--------------------------------------------------------------------------
  def on_cancel
    # 演奏取消 SE
    $game_system.se_play($data_system.cancel_se)
    # 切换到标题画面
    $scene = Scene_Title.new
  end
  #--------------------------------------------------------------------------
  # ● 读取存档数据
  #     file : 读取用文件对像 (已经打开)
  #--------------------------------------------------------------------------
  def read_save_data(file)
    # 读取描绘存档文件用的角色数据
    characters = Marshal.load(file)
    # 读取测量游戏时间用画面计数
    Graphics.frame_count = Marshal.load(file)
    # 读取各种游戏对像
    $game_system        = Marshal.load(file)
    $game_switches      = Marshal.load(file)
    $game_variables     = Marshal.load(file)
    $game_self_switches = Marshal.load(file)
    $game_screen        = Marshal.load(file)
    $game_actors        = Marshal.load(file)
    $game_party         = Marshal.load(file)
    $game_troop         = Marshal.load(file)
    $game_map           = Marshal.load(file)
    $game_player        = Marshal.load(file)
    # 魔法编号与保存时有差异的情况下
    # (加入编辑器的编辑过的数据)
    if $game_system.magic_number != $data_system.magic_number
      # 重新装载地图
      $game_map.setup($game_map.map_id)
      $game_player.center($game_player.x, $game_player.y)
    end
    # 刷新同伴成员
    $game_party.refresh
$game_map.need_refresh = true     (#是这里吗?)
  end
end

点评

问题解决了!  发表于 2020-2-13 04:49
你问得来自己试就完事了...  发表于 2020-2-12 12:08
回复 支持 反对

使用道具 举报

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

本版积分规则

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

站长信箱:fux2@moe9th.com|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2020-2-29 03:53

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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