查看: 2433|回复: 2

[已经解决] {求助}存读档界面修改。

[复制链接]
梦石
0
星屑
125
在线时间
171 小时
注册时间
2014-4-14
回帖
135
发表于 2016-6-10 07:55:44 | 显示全部楼层 |阅读模式

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

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

×
求大神帮助!存读档界面怎样才能显示名字和等级?

评分

参与人数 1星屑 +35 收起 理由
RyanBern + 35 手动认可奖励

查看全部评分

Vanyogin

梦石
0
星屑
9716
在线时间
2775 小时
注册时间
2008-9-5
回帖
3458

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

发表于 2016-6-10 15:21:38 | 显示全部楼层
本帖最后由 cinderelmini 于 2016-6-10 15:26 编辑

要在存档界面绘制的话,存档的时候就要对应存一下这些东西,
基于默认系统稍微弄了一下,
在存档的时候,存人物行走图的character数组里额外塞入了各个角色的名字和等级数据。
Main前插入
  1. class Window_SaveFile < Window_Base
  2.   #--------------------------------------------------------------------------
  3.   # ● 刷新
  4.   #--------------------------------------------------------------------------
  5.   def refresh
  6.     self.contents.clear
  7.     # 描绘文件编号
  8.     self.contents.font.color = normal_color
  9.     name = "文件 #{@file_index + 1}"
  10.     self.contents.draw_text(4, 0, 600, 32, name)
  11.     @name_width = contents.text_size(name).width
  12.     # 存档文件存在的情况下
  13.     if @file_exist
  14.       # 描绘角色
  15.       for i in 0...@characters.size
  16.         # 行走图
  17.         bitmap = RPG::Cache.character(@characters[i][0], @characters[i][1])
  18.         cw = bitmap.rect.width / 4
  19.         ch = bitmap.rect.height / 4
  20.         src_rect = Rect.new(0, 0, cw, ch)
  21.         x = 300 - @characters.size * 32 + i * 64 - cw / 2
  22.         self.contents.blt(x, 68 - ch, bitmap, src_rect)
  23.         ################## 名字和等级
  24.         next if @characters[i].size < 3
  25.         name = @characters[i][2]
  26.         level = @characters[i][3]
  27.         self.contents.font.size = 10
  28.         self.contents.draw_text(x, 0, cw, 10, name)
  29.         self.contents.draw_text(x, 10, cw, 10, "LV.#{level}", 2)
  30.         self.contents.font.size = Font.default_size
  31.         ################## 名字和等级
  32.       end
  33.       # 描绘游戏时间
  34.       hour = @total_sec / 60 / 60
  35.       min = @total_sec / 60 % 60
  36.       sec = @total_sec % 60
  37.       time_string = sprintf("%02d:%02d:%02d", hour, min, sec)
  38.       self.contents.font.color = normal_color
  39.       self.contents.draw_text(4, 8, 600, 32, time_string, 2)
  40.       # 描绘时间标记
  41.       self.contents.font.color = normal_color
  42.       time_string = @time_stamp.strftime("%Y/%m/%d %H:%M")
  43.       self.contents.draw_text(4, 40, 600, 32, time_string, 2)
  44.     end
  45.   end
  46. end


  47. class Scene_Save < Scene_File
  48.   #--------------------------------------------------------------------------
  49.   # ● 写入存档数据
  50.   #     file : 写入用文件对像 (已经打开)
  51.   #--------------------------------------------------------------------------
  52.   def write_save_data(file)
  53.     # 生成描绘存档文件用的角色图形
  54.     characters = []
  55.     for i in 0...$game_party.actors.size
  56.       actor = $game_party.actors[i]
  57.       ################## 名字和等级
  58.       characters.push([actor.character_name, actor.character_hue, actor.name, actor.level])
  59.       ################## 名字和等级
  60.     end
  61.     # 写入描绘存档文件用的角色数据
  62.     Marshal.dump(characters, file)
  63.     # 写入测量游戏时间用画面计数
  64.     Marshal.dump(Graphics.frame_count, file)
  65.     # 增加 1 次存档次数
  66.     $game_system.save_count += 1
  67.     # 保存魔法编号
  68.     # (将编辑器保存的值以随机值替换)
  69.     $game_system.magic_number = $data_system.magic_number
  70.     # 写入各种游戏对像
  71.     Marshal.dump($game_system, file)
  72.     Marshal.dump($game_switches, file)
  73.     Marshal.dump($game_variables, file)
  74.     Marshal.dump($game_self_switches, file)
  75.     Marshal.dump($game_screen, file)
  76.     Marshal.dump($game_actors, file)
  77.     Marshal.dump($game_party, file)
  78.     Marshal.dump($game_troop, file)
  79.     Marshal.dump($game_map, file)
  80.     Marshal.dump($game_player, file)
  81.   end
  82. end
复制代码

PS:顺便再吐槽一下XP的代码随便改个地方就得弄一大堆……
PS2:旧的存档不会显示名字和等级。

点评

谢谢帮忙!  发表于 2016-6-11 08:17

评分

参与人数 1梦石 +1 收起 理由
RyanBern + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
125
在线时间
171 小时
注册时间
2014-4-14
回帖
135
 楼主| 发表于 2016-6-11 08:14:29 | 显示全部楼层
cinderelmini 发表于 2016-6-10 15:21
要在存档界面绘制的话,存档的时候就要对应存一下这些东西,
基于默认系统稍微弄了一下,
在存档的时候,存 ...

生成名字和等级哪我不会弄,原来是这样,谢谢帮忙!
Vanyogin
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部