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

Project1

 找回密码
 注册会员
搜索
查看: 3795|回复: 5
打印 上一主题 下一主题

[已经解决] 关于存档的问题0A0……

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
48 小时
注册时间
2012-6-15
帖子
31
跳转到指定楼层
1
发表于 2013-5-4 07:31:53 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 273561079 于 2013-5-4 16:54 编辑

好吧我又来问了……|||存档界面能存档的时候人物显示的不是行走图而是头像吗0 0还要把地图名给显示上去的那种……

Lv5.捕梦者

梦石
0
星屑
21916
在线时间
8561 小时
注册时间
2011-12-31
帖子
3361
2
发表于 2013-5-4 08:37:01 | 只看该作者
本帖最后由 tseyik 于 2013-5-4 08:40 编辑

http://www4.plala.or.jp/findias/ ... ce_rgss3/index.html
メニュー>
乜ーブ画面改

RUBY 代码复制
  1. #==============================================================================
  2. # ■ VXAce-RGSS3-19 セーブ画面-改 [Ver.1.0.0]        by Claimh
  3. #------------------------------------------------------------------------------
  4. #  セーブ画面の表示を変更します。
  5. #  (注)導入前のセーブデータは使えません
  6. #==============================================================================
  7.  
  8. #==============================================================================
  9. # ■ Game_Party
  10. #==============================================================================
  11. class Game_Party < Game_Unit
  12.   #--------------------------------------------------------------------------
  13.   # ● セーブファイル表示用の顔グラフィック画像情報
  14.   #--------------------------------------------------------------------------
  15.   def faces_for_savefile
  16.     battle_members.collect do |actor|
  17.       [actor.face_name, actor.face_index]
  18.     end
  19.   end
  20. end
  21.  
  22. #==============================================================================
  23. # ■ DataManager
  24. #==============================================================================
  25. class << DataManager
  26.   #--------------------------------------------------------------------------
  27.   # ● セーブヘッダの作成
  28.   #--------------------------------------------------------------------------
  29.   alias make_save_header_faces make_save_header
  30.   def make_save_header
  31.     header = make_save_header_faces
  32.     header[:faces]    = $game_party.faces_for_savefile
  33.     header[:map_name] = $game_map.display_name
  34.     header
  35.   end
  36. end
  37.  
  38. #==============================================================================
  39. # ■ Window_SaveFile
  40. #------------------------------------------------------------------------------
  41. #  セーブ画面およびロード画面で表示する、セーブファイルのウィンドウです。
  42. #==============================================================================
  43. class Window_SaveFile < Window_Base
  44.   #--------------------------------------------------------------------------
  45.   # ● リフレッシュ
  46.   #--------------------------------------------------------------------------
  47.   def refresh
  48.     contents.clear
  49.     change_color(normal_color)
  50.     name = Vocab::File + " #{@file_index + 1}"
  51.     draw_text(4, 0, 200, line_height, name)
  52.     @name_width = text_size(name).width
  53.     draw_party_faces(100, (contents_height - 96) / 2)
  54.     draw_map_name(0, contents_height - line_height)
  55.     draw_playtime(0, contents_height - line_height, contents.width - 4, 2)
  56.   end
  57.   #--------------------------------------------------------------------------
  58.   # ● パーティキャラの描画
  59.   #--------------------------------------------------------------------------
  60.   def draw_party_faces(x, y)
  61.     header = DataManager.load_header(@file_index)
  62.     return unless header && header[:faces]
  63.     header[:faces].each_with_index do |data, i|
  64.       draw_face(data[0], data[1], x + i * 96, y)
  65.     end
  66.   end
  67.   #--------------------------------------------------------------------------
  68.   # ● マップ名の描画
  69.   #--------------------------------------------------------------------------
  70.   def draw_map_name(x, y, align=0)
  71.     header = DataManager.load_header(@file_index)
  72.     return unless header && header[:map_name]
  73.     name = header[:map_name]
  74.     draw_text(x, y, contents.width, line_height, name, align)
  75.   end
  76. end

乜ーブ画面改2

RUBY 代码复制
  1. #==============================================================================
  2. # ■ VXAce-RGSS3-20 セーブ画面-改2 [Ver.1.1.0]        by Claimh
  3. #------------------------------------------------------------------------------
  4. #  セーブ画面の表示を改変します。
  5. #  (注)導入前のセーブデータは使えません
  6. #------------------------------------------------------------------------------
  7. #・ミッション名の更新
  8. # $game_party.mission = "あらすじ"
  9. #==============================================================================
  10.  
  11. #==============================================================================
  12. # ■ SaveActor  : セーブファイル用のダミーアクター
  13. #==============================================================================
  14. class SaveActor
  15.   #--------------------------------------------------------------------------
  16.   # ● 公開インスタンス変数
  17.   #--------------------------------------------------------------------------
  18.   attr_reader :name
  19.   attr_reader :level
  20.   attr_reader :hp
  21.   attr_reader :mp
  22.   attr_reader :mhp
  23.   attr_reader :mmp
  24.   attr_reader :face_name
  25.   attr_reader :face_index
  26.   #--------------------------------------------------------------------------
  27.   # ● オブジェクト初期化
  28.   #--------------------------------------------------------------------------
  29.   def initialize(actor)
  30.     @name = actor.name
  31.     [url=home.php?mod=space&uid=22147]@level[/url] = actor.level
  32.     @hp = actor.hp; @mhp = actor.mhp
  33.     @mp = actor.mp; @mmp = actor.mmp
  34.     @face_name = actor.face_name
  35.     @face_index = actor.face_index
  36.     [url=home.php?mod=space&uid=89503]@deAd[/url] = actor.dead?
  37.   end
  38.   #--------------------------------------------------------------------------
  39.   # ● 戦闘不能判定
  40.   #--------------------------------------------------------------------------
  41.   def dead?
  42.     @dead
  43.   end
  44.   #--------------------------------------------------------------------------
  45.   # ● HP の割合を取得
  46.   #--------------------------------------------------------------------------
  47.   def hp_rate
  48.     @hp.to_f / @mhp
  49.   end
  50.   #--------------------------------------------------------------------------
  51.   # ● MP の割合を取得
  52.   #--------------------------------------------------------------------------
  53.   def mp_rate
  54.     @mmp > 0 ? @mp.to_f / @mmp : 0
  55.   end
  56. end
  57.  
  58. #==============================================================================
  59. # ■ Game_Party
  60. #==============================================================================
  61. class Game_Party < Game_Unit
  62.   #--------------------------------------------------------------------------
  63.   # ● 公開インスタンス変数
  64.   #--------------------------------------------------------------------------
  65.   attr_accessor :mission                  # ミッション(ファイル画面表示用)
  66.   #--------------------------------------------------------------------------
  67.   # ● オブジェクト初期化
  68.   #--------------------------------------------------------------------------
  69.   alias initialize_save initialize
  70.   def initialize
  71.     initialize_save
  72.     @mission = ""
  73.   end
  74.   #--------------------------------------------------------------------------
  75.   # ● セーブファイル表示用の顔グラフィック画像情報
  76.   #--------------------------------------------------------------------------
  77.   def member_for_savefile
  78.     members.collect { |actor| SaveActor.new(actor) }
  79.   end
  80. end
  81.  
  82. #==============================================================================
  83. # ■ DataManager
  84. #==============================================================================
  85. class << DataManager
  86.   #--------------------------------------------------------------------------
  87.   # ● セーブヘッダの作成
  88.   #--------------------------------------------------------------------------
  89.   alias make_save_header_faces make_save_header
  90.   def make_save_header
  91.     header = make_save_header_faces
  92.     header[:map_name] = $game_map.display_name
  93.     header[:actors]   = $game_party.member_for_savefile
  94.     header[:mission]  = $game_party.mission
  95.     header[:gold]     = $game_party.gold
  96.     header
  97.   end
  98. end
  99.  
  100.  
  101. #==============================================================================
  102. # ■ Window_SaveFile
  103. #==============================================================================
  104. class Window_SaveFile < Window_Base
  105.   #--------------------------------------------------------------------------
  106.   # ● オブジェクト初期化 [再定義]
  107.   #     index : セーブファイルのインデックス
  108.   #--------------------------------------------------------------------------
  109.   def initialize(height, index)
  110.     super(0, index * height, window_width, height)
  111.     @file_index = index
  112.     refresh
  113.     @selected = false
  114.   end
  115.   #--------------------------------------------------------------------------
  116.   # ● ウィンドウ幅
  117.   #--------------------------------------------------------------------------
  118.   def window_width
  119.     return 134
  120.   end
  121.   #--------------------------------------------------------------------------
  122.   # ● リフレッシュ [再定義]
  123.   #--------------------------------------------------------------------------
  124.   def refresh
  125.     contents.clear
  126.     change_color(normal_color)
  127.     name = Vocab::File + " #{@file_index + 1}"
  128.     draw_text(4, 0, 200, line_height, name)
  129.     @name_width = text_size(name).width
  130.   end
  131. end
  132.  
  133. #==============================================================================
  134. # ■ Window_SaveFile
  135. #==============================================================================
  136. class Window_SaveInfo < Window_Selectable
  137.   #--------------------------------------------------------------------------
  138.   # ● オブジェクト初期化
  139.   #--------------------------------------------------------------------------
  140.   def initialize(x, h)
  141.     @actors = []
  142.     super(x, h, Graphics.width - x, Graphics.height - h)
  143.     self.file_index = index
  144.   end
  145.   #--------------------------------------------------------------------------
  146.   # ● 項目の高さを取得
  147.   #--------------------------------------------------------------------------
  148.   def item_height
  149.     (contents_height - (line_height * 2)) / row_num
  150.   end
  151.   #--------------------------------------------------------------------------
  152.   # ● ウィンドウ内容の高さを計算
  153.   #--------------------------------------------------------------------------
  154.   def contents_height
  155.     height - standard_padding * 2
  156.   end
  157.   #--------------------------------------------------------------------------
  158.   # ● 列数の取得
  159.   #--------------------------------------------------------------------------
  160.   def row_num
  161.     return 3
  162.   end
  163.   #--------------------------------------------------------------------------
  164.   # ● 桁数の取得
  165.   #--------------------------------------------------------------------------
  166.   def col_max
  167.     return 2
  168.   end
  169.   #--------------------------------------------------------------------------
  170.   # ● 下端パディングの更新
  171.   #--------------------------------------------------------------------------
  172.   def update_padding_bottom
  173.   end
  174.   #--------------------------------------------------------------------------
  175.   # ● 横に項目が並ぶときの空白の幅を取得
  176.   #--------------------------------------------------------------------------
  177.   def spacing
  178.     return 16
  179.   end
  180.   #--------------------------------------------------------------------------
  181.   # ● 項目数の取得
  182.   #--------------------------------------------------------------------------
  183.   def item_max
  184.     return [@actors.size, 6].min
  185.   end
  186.   #--------------------------------------------------------------------------
  187.   # ● データ参照
  188.   #--------------------------------------------------------------------------
  189.   def data(header, symbol, default)
  190.     (header.nil? or header[symbol].nil?) ? default : header[symbol]
  191.   end
  192.   #--------------------------------------------------------------------------
  193.   # ● ファイル変更
  194.   #--------------------------------------------------------------------------
  195.   def file_index=(index)
  196.     return if @file_index == index
  197.     @file_index = index
  198.     header = DataManager.load_header(@file_index)
  199.     @actors   = data(header, :actors, [])
  200.     @map_name = data(header, :map_name, "")
  201.     @playtime = data(header, :playtime_s, "00:00:00")
  202.     @mission  = data(header, :mission, "")
  203.     [url=home.php?mod=space&uid=236945]@gold[/url]     = data(header, :gold, 0)
  204.     create_contents
  205.     refresh
  206.   end
  207.   #--------------------------------------------------------------------------
  208.   # ● リフレッシュ
  209.   #--------------------------------------------------------------------------
  210.   def refresh
  211.     super
  212.     if @actors.empty? or @actors.nil?
  213.       draw_text(0, 0, contents_width, contents_height, "- empty -", 1)
  214.       return
  215.     end
  216.     draw_text(0, 0, contents_width, line_height, @map_name)
  217.     draw_playtime(contents_width - 128, 0, 128)
  218.     draw_text_ex(0, line_height, @mission)
  219.     draw_gold(contents_width - 128, line_height, 128)
  220.   end
  221.   #--------------------------------------------------------------------------
  222.   # ● 項目の描画
  223.   #--------------------------------------------------------------------------
  224.   def draw_item(index)
  225.     return if @actors.empty? or @actors.nil?
  226.     actor = @actors[index]
  227.     rect = item_rect(index)
  228.     rect.y += line_height * 2
  229.     draw_actor_face(actor, rect.x, rect.y, !actor.dead?)
  230.     draw_actor_name(actor,  rect.x + 100, rect.y+line_height*0)
  231.     draw_actor_level(actor, rect.x + 100, rect.y+line_height*1)
  232.     w = [124, rect.width - 100].min
  233.     draw_actor_hp(actor,   rect.x + 100, rect.y+line_height*2, w)
  234.     draw_actor_mp(actor,   rect.x + 100, rect.y+line_height*3, w)
  235.   end
  236.   #--------------------------------------------------------------------------
  237.   # ● プレイ時間の描画
  238.   #--------------------------------------------------------------------------
  239.   def draw_playtime(x, y, width)
  240.     change_color(system_color)
  241.     contents.font.size -= 8
  242.     draw_text(x, y+4, width, line_height, "TIME")
  243.     contents.font.size += 8
  244.     change_color(normal_color)
  245.     draw_text(x, y, width, line_height, @playtime, 2)
  246.   end
  247.   #--------------------------------------------------------------------------
  248.   # ● 所持金の描画
  249.   #--------------------------------------------------------------------------
  250.   def draw_gold(x, y, width)
  251.     draw_currency_value(@gold, Vocab::currency_unit, x, y, width)
  252.   end
  253.   #--------------------------------------------------------------------------
  254.   # ● 水平線の描画
  255.   #--------------------------------------------------------------------------
  256.   def draw_horz_line(y)
  257.     line_y = y + line_height / 2 - 1
  258.     contents.fill_rect(0, line_y, contents_width, 2, line_color)
  259.   end
  260.   #--------------------------------------------------------------------------
  261.   # ● 水平線の色を取得
  262.   #--------------------------------------------------------------------------
  263.   def line_color
  264.     color = normal_color
  265.     color.alpha = 48
  266.     color
  267.   end
  268. end
  269.  
  270. #==============================================================================
  271. # ■ Scene_File
  272. #==============================================================================
  273. class Scene_File < Scene_MenuBase
  274.   #--------------------------------------------------------------------------
  275.   # ● セーブファイルウィンドウの作成
  276.   #--------------------------------------------------------------------------
  277.   alias create_savefile_windows_save create_savefile_windows
  278.   def create_savefile_windows
  279.     create_savefile_windows_save
  280.     @info_window = Window_SaveInfo.new(@savefile_windows[0].window_width, @help_window.height)
  281.   end
  282.   #--------------------------------------------------------------------------
  283.   # ● 選択状態の初期化
  284.   #--------------------------------------------------------------------------
  285.   alias init_selection_save init_selection
  286.   def init_selection
  287.     init_selection_save
  288.     @info_window.file_index = @index
  289.   end
  290.   #--------------------------------------------------------------------------
  291.   # ● 画面内に表示するセーブファイル数を取得
  292.   #--------------------------------------------------------------------------
  293.   def visible_max
  294.     return @savefile_viewport.rect.height / @help_window.height
  295.   end
  296.   #--------------------------------------------------------------------------
  297.   # ● カーソルの更新
  298.   #--------------------------------------------------------------------------
  299.   alias update_cursor_save update_cursor
  300.   def update_cursor
  301.     update_cursor_save
  302.     @info_window.file_index = @index
  303.   end
  304. end

评分

参与人数 2星屑 +130 收起 理由
Sion + 100 认可答案
j433463 + 30

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
帖子
1543
3
发表于 2013-5-4 09:26:20 | 只看该作者
本帖最后由 j433463 于 2013-5-4 09:39 编辑

默认游戏分辨率下的存档介面,每一个存档条内高度并不足以放入一张完整脸图,
大概被挡掉三分之一,最多只能这样子:



脸图都放不下了,地图名自然受到限制,我只能想到这样的摆放位置,
大约可以容许八个中文字吧,超过就会盖到脸图了,这样也能接受吗?

一个存档条含框线大约是 92 高度,而一张脸图 96 高度,已经有差了,
再扣去框线和内边距,只剩下大约 68 高度而已,实在放不下一张脸图,
如果分辨率大一些或者可以。

楼上的也是一样情形,不过巧妙的调整了脸图,看起来顺眼多了。



脸图往上提,看起来确实好一点。

点评

是可以这样,那和改分辨率也一样能解决,或像楼上那样改存档画面,方式很多,不过已经不在改默认脚本范围了。  发表于 2013-5-4 12:21
话说这个问题直接把一页显示的存档数量改称3个不就解决了……  发表于 2013-5-4 11:35

评分

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

查看全部评分

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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
48 小时
注册时间
2012-6-15
帖子
31
4
 楼主| 发表于 2013-5-4 16:54:02 | 只看该作者
谢谢2位大神的说0▽0
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
805
在线时间
72 小时
注册时间
2018-11-16
帖子
49
5
发表于 2018-11-18 15:24:54 | 只看该作者
tseyik 发表于 2013-5-4 08:37
http://www4.plala.or.jp/findias/codecrush/material/vxace_rgss3/index.html
メニュー>
乜ーブ画面改

第一个怎么用啊
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-25 18:28

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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