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

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: asdwds
打印 上一主题 下一主题

[已经解决] 请问如何使存档显示角色图像和地图名

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
帖子
1543
11
发表于 2013-6-25 07:53:49 | 只看该作者
容量限制?没有吧,我都能正常做到显示角色图像和地图名:



这是我尝试仿轩辕剑存档格式画面的截图,我有成功了喔!
修改劇本中,仔細審查原來的劇情大綱,覺得有點不太滿意,嘗試編寫不同主角不同主線的劇情,希望能寫得出來。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
帖子
1543
12
发表于 2013-6-25 08:35:37 | 只看该作者
1. 在 DataManager 的 def self.make_save_header 是这样的:

RUBY 代码复制
  1. def self.make_save_header
  2.     header = {}
  3.     header[:characters] = $game_party.characters_for_savefile
  4.     header[:playtime_s] = $game_system.playtime_s
  5.     header[:mapname] = ($game_map.display_name.size > 0 ? $game_map.display_name : '未命名')
  6.     header[:faces] = $game_party.faces_for_savefile
  7.     header
  8.   end


2. 在 Game_Party 的 def characters_for_savefile 下方,加这么一行:

RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 存档档案显示用的角色脸图讯息
  3.   #--------------------------------------------------------------------------
  4.   def faces_for_savefile
  5.     battle_members.collect do |actor|
  6.       [actor.face_name, actor.face_index]
  7.     end
  8.   end


3. 在 Window_SaveFile 的 def refresh 要这样改:

RUBY 代码复制
  1. def refresh
  2.     contents.clear
  3.     change_color(normal_color)
  4.     name = Vocab::File + " #{@file_index + 1}"
  5.     draw_text(4, 0, 200, line_height, name)
  6.     @name_width = text_size(name).width
  7.     #draw_party_characters(152, 58)
  8.     draw_party_faces(80, 58) #<--- 描绘脸图
  9.     draw_playtime(0, contents.height - line_height, contents.width - 4, 2)
  10.     header = DataManager.load_header(@file_index)
  11.     return unless header
  12.     draw_text(620, 0, 200, line_height, header[:mapname])  #<--- 描绘地图名
  13.   end


然后,在 def draw_party_characters(x, y) 的下方,加这么一段:

RUBY 代码复制
  1. def draw_party_characters(x, y)
  2.     header = DataManager.load_header(@file_index)
  3.     return unless header
  4.     header[:faces].each_with_index do |data, i|
  5.       draw_face(data[0], data[1], x + i * 96, 10)
  6.     end
  7.   end



就这样而已,没有那么复杂...



点评

真心我一开始也这么写,然后就不允许保存游戏了。而且现在也只显示1个角色  发表于 2013-6-26 21:31

评分

参与人数 1星屑 +100 收起 理由
Sion + 100 感谢帮忙

查看全部评分

修改劇本中,仔細審查原來的劇情大綱,覺得有點不太滿意,嘗試編寫不同主角不同主線的劇情,希望能寫得出來。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
256 小时
注册时间
2013-5-27
帖子
196
13
发表于 2013-6-26 18:56:56 | 只看该作者
实际上LZ还不如用图书馆里那个截图存档,然后在那个脚本里改一改。

点评

等有空我也研究一下,RGSS3不是很懂。我是想做成11L这个效果再加大截图,并且下面带人物信息,地图名和时间。  发表于 2013-6-26 22:21
當我想開一個帖問如何改那個图书馆里那个截图存档腳本+地圖名時,我發現了這個帖  发表于 2013-6-26 21:59
其实我已经勉强弄成了,只是不能理解为什么会发生不能存档的问题  发表于 2013-6-26 21:43
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
54 小时
注册时间
2013-1-3
帖子
128
14
 楼主| 发表于 2013-6-26 21:41:50 | 只看该作者
j433463 发表于 2013-6-25 08:35
1. 在 DataManager 的 def self.make_save_header 是这样的:

  def self.make_save_header

以下使用后,会触发on_savefile_ok的else条件
#==============================================================================
# ■ Game_Party
#==============================================================================
  def faces_for_savefile
    battle_members.collect do |actor|
    [actor.face_name, actor.face_index]
  end
end
#==============================================================================
# ■ Window_SaveFile
#==============================================================================
class Window_SaveFile < Window_Base

  def refresh
    contents.clear
    change_color(normal_color)
    name = Vocab::File + " #{@file_index + 1}"
    draw_text(4, 0, 200, line_height, name)
    @name_width = text_size(name).width
    draw_party_faces(80, 58) #<--- 描绘脸图
   draw_playtime(0, contents.height - line_height, contents.width - 4, 2)
    header = DataManager.load_header(@file_index)
    return unless header
    draw_text(620, 0, 200, line_height, header[:mapname])  #<--- 描绘地图名
end

  def draw_party_faces(x, y)
    header = DataManager.load_header(@file_index)
    return unless header
    header[:faces].each_with_index do |data, i|
    draw_face(data[0], data[1], x + i * 96, 10)
    end
  end
  
end


#==============================================================================
# ■ DataManager
#==============================================================================
module DataManager
  def self.make_save_header
    header = {}
    header[:characters] = $game_party.characters_for_savefile
    header[:playtime_s] = $game_system.playtime_s
    header[:mapname] = $game_map.display_name
    header[:faces] = $game_party.faces_for_savefile
    header
  end
  
end
1
回复 支持 反对

使用道具 举报

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

本版积分规则

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

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-18 10:35

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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