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

Project1

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

500分请人帮忙扩展下存档,谢谢。

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2008-7-28
帖子
432
11
 楼主| 发表于 2008-9-6 23:23:12 | 只看该作者
    其他没什么问题了,不过你看下截图,上面没了下面怎么又出来了= =   帮忙解决下吧谢谢,顺便把翻页的功能加上(我都没想到你竟然想到了,感激^_^)。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2008-7-28
帖子
432
12
 楼主| 发表于 2008-9-6 23:24:52 | 只看该作者
    啊,为什么没有记忆功能呢?上次存档之后,再次存档或者读档的时候又在第一页?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

剑圣

梦石
0
星屑
50
在线时间
122 小时
注册时间
2008-8-31
帖子
778
13
发表于 2008-9-7 00:30:41 | 只看该作者
给出修正的版本



#==============================================================================
# ■ Scene_File
#------------------------------------------------------------------------------
#  存档画面及读档画面的超级类。
#   脚本优化: SailCat
#==============================================================================

class Scene_File
#--------------------------------------------------------------------------
# ● 常量 (存档页数)
#--------------------------------------------------------------------------
MaxPages = 25
#--------------------------------------------------------------------------
# ● 初始化对像
#     help_text : 帮助窗口显示的字符串
#--------------------------------------------------------------------------
def initialize(help_text)
   @help_text = help_text
   @slots = MaxPages * 4
end
#--------------------------------------------------------------------------
# ● 主处理
#--------------------------------------------------------------------------
def main
   
   # This is setting up the background picture
   @background = Sprite.new
   @background.bitmap = RPG::Cache.picture("save window")
   @background.x = 0
   @background.y = 0
   # ヘルプウィンドウを作成
   @help_window = Window_Help.new
   @help_window.opacity = 0
   @help_window.set_text(@help_text)
   # セーブファイルウィンドウを作成
   # 生成帮助窗口
#   @help_window = Window_Help.new
#   @help_window.set_text(@help_text)
   @file_index = $game_temp.last_file_index
   # 生成存档文件窗口
   @savefile_windows = []
   # 选择最后操作的文件
   for i in @file_index / 4 * 4..@file_index / 4 * 4 + 3
     load_window(i)
     @savefile_windows.visible = true
   end
   @savefile_windows[@file_index].selected = true
   # 执行过渡
   Graphics.transition
   # 主循环
   loop do
     # 刷新游戏画面
     Graphics.update
     # 刷新输入信息
     Input.update
     # 刷新画面
     update
     # 如果画面被切换的话就中断循环
     if $scene != self
       break
     end
   end
# 准备过渡
  Graphics.freeze
  # 释放窗口
  @help_window.dispose
  for i in 0...@slots
    @savefile_windows.dispose if @savefile_windows != nil
  end
end
#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
def update
  # 刷新窗口
  @help_window.update
  for i in @file_index / 4 * 4..@file_index / 4 * 4 + 3
    @savefile_windows.update if @savefile_windows.visible
  end
  # 按下 C 键的情况下

   # 按下 C 键的情况下
   if Input.trigger?(Input::C)
     # 调用过程 on_decision (定义继承目标)
     on_decision(make_filename(@file_index))
     $game_temp.last_file_index = @file_index
     return
   end
   # 按下 B 键的情况下
   if Input.trigger?(Input::B)
     # 调用过程 on_cancel (定义继承目标)
     on_cancel
     return
   end
   # 按下方向键下的情况下
   if Input.repeat?(Input::DOWN)
     # 演奏光标 SE
     $game_system.se_play($data_system.cursor_se)
     # 光标向下移动
     @savefile_windows[@file_index].selected = false
     @file_index = (@file_index + 1) % @slots
     # 翻到下一页的情况下
     if @file_index % 4 == 0
       for index in @file_index / 4 * 4..@file_index / 4 * 4 + 3
         @savefile_windows[(index + @slots - 4) % @slots].visible = false
         load_window(index)
         @savefile_windows[index].visible = true
       end
     end
     @savefile_windows[@file_index].selected = true
     return
   end
   # 按下方向键上的情况下
   if Input.repeat?(Input::UP)
     # 演奏光标 SE
     $game_system.se_play($data_system.cursor_se)
     # 光标向上移动
     @savefile_windows[@file_index].selected = false
     @file_index = (@file_index + @slots - 1) % @slots
     # 翻到上一页的情况下
     if @file_index % 4 == 3
       for index in @file_index / 4 * 4..@file_index / 4 * 4 + 3
         @savefile_windows[(index + 4) % @slots].visible = false
         load_window(index)
         @savefile_windows[index].visible = true
       end
     end
     @savefile_windows[@file_index].selected = true
     return
   end
   # 按下方向键左或者 L 的情况下
   if Input.repeat?(Input::LEFT) or Input.trigger?(Input::L)
     # 演奏光标 SE
     $game_system.se_play($data_system.cursor_se)
     # 前翻一页
     @savefile_windows[@file_index].selected = false
     @file_index = (@file_index + @slots - 4) % @slots
     for index in @file_index / 4 * 4..@file_index / 4 * 4 + 3
       @savefile_windows[(index + 4) % @slots].visible = false
       load_window(index)
       @savefile_windows[index].visible = true
     end
     @savefile_windows[@file_index].selected = true
     return
   end
   # 按下方向键右或者 R 的情况下
   if Input.repeat?(Input::RIGHT) or Input.trigger?(Input::R)
     # 演奏光标 SE
     $game_system.se_play($data_system.cursor_se)
     # 前翻一页
     @savefile_windows[@file_index].selected = false
     @file_index = (@file_index + 4) % @slots
     for index in @file_index / 4 * 4..@file_index / 4 * 4 + 3
       @savefile_windows[(index + @slots - 4) % @slots].visible = false
       load_window(index)
       @savefile_windows[index].visible = true
     end
     @savefile_windows[@file_index].selected = true
     return
   end
end
#--------------------------------------------------------------------------
# ● 生成文件名
#     file_index : 文件名的索引 (0~n)
#--------------------------------------------------------------------------
def make_filename(file_index)
   return "Save#{file_index + 1}.rxdata"
end
#--------------------------------------------------------------------------
# ● 载入当前页存档
#     避免因存档位过多造成的卡壳现象
#--------------------------------------------------------------------------
def load_window(i)
   if @savefile_windows != nil
     return
   else
     @savefile_windows = Window_SaveFile.new(i, make_filename(i))
   end
end
end
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~

PC/IOS/Android共享的RM RPG:未名大学
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-12 13:44

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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