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

Project1

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

[RMVX发布] R剧用的存档界面!感谢剑兰前..啊不.....

[复制链接]

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
676
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

跳转到指定楼层
1
发表于 2011-3-22 20:55:45 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
上截图附件和脚本
不多说了,脚本里啰嗦的要死
  1. #==============================================================================
  2. # 〇 R剧用的存读档界面
  3. #              By.冰舞蝶恋
  4. #------------------------------------------------------------------------------
  5. # 用法就不必介绍了吧!坐标什么的都是自动居中(适应于任何分辨率)
  6. # 文字可以自己改动,用更改指定角色名字的指令用来做出章节效果。
  7. # 默认用队伍中的第一个角色的名字来作为章节。
  8. # 主要因为考虑到R剧打开菜单的可能性很小……最好是不能打开菜单,用事件打开
  9. # 存档界面,不然就穿帮了,哈哈………
  10. # 啊呀,啰嗦了老半天了,最后感谢剑兰前..辈(啊,怎么又说漏嘴了!!会折寿的!)
  11. #==============================================================================
  12. #==============================================================================
  13. # ■ Window_SaveFile
  14. #------------------------------------------------------------------------------
  15. #  显示存档以及读档画面、保存文件的窗口。
  16. #==============================================================================

  17. class Window_SaveFile
  18.   #--------------------------------------------------------------------------
  19.   # ● 定义实例变量
  20.   #--------------------------------------------------------------------------
  21.   attr_reader   :filename                 # 文件名称
  22.   attr_reader   :file_exist               # 文件存在标志
  23.   attr_reader   :time_stamp               # 时间标记
  24.   attr_reader   :selected                 # 选择状态
  25.   #--------------------------------------------------------------------------
  26.   # ● 初始化对像
  27.   #     file_index : 存档文件的索引(0-3)
  28.   #     filename   : 文件名称
  29.   #--------------------------------------------------------------------------
  30.   def initialize(file_index, filename)
  31.     super((Graphics.width-230)/2, (Graphics.height-64*3)/2 + 28 + file_index % 3 * 64, 230, 64)#56,544, 90)
  32.     @file_index = file_index
  33.     @filename = filename
  34.     load_gamedata
  35.     refresh
  36.     @selected = false
  37.   end
  38.   #--------------------------------------------------------------------------  #--------------------------------------------------------------------------
  39.   # ● 刷新
  40.   #--------------------------------------------------------------------------
  41.   def refresh
  42.     self.contents.clear
  43.     self.contents.font.color = normal_color
  44.     self.contents.font.size = 16
  45.     name = Vocab::File + " #{@file_index + 1}"
  46.     self.contents.draw_text(4, 0+8, 200, WLH, name)
  47.     @name_width = contents.text_size(name).width
  48.     if @file_exist
  49.       draw_party_characters(152, 58)
  50.       draw_playtime(0, 34, contents.width - 4, 2)
  51.     end
  52.   end
  53.   #--------------------------------------------------------------------------
  54.   # ● 载入部分游戏资料
  55.   #    默认情况下,开关和变数不会用到。(以备扩充情况下如:显示地名等时使用)
  56.   #--------------------------------------------------------------------------
  57.   def load_gamedata
  58.     @time_stamp = Time.at(0)
  59.     @file_exist = FileTest.exist?(@filename)
  60.     if @file_exist
  61.       file = File.open(@filename, "r")
  62.       @time_stamp = file.mtime
  63.       begin
  64.         @characters     = Marshal.load(file)
  65.         @frame_count    = Marshal.load(file)
  66.         @last_bgm       = Marshal.load(file)
  67.         @last_bgs       = Marshal.load(file)
  68.         @game_system    = Marshal.load(file)
  69.         @game_message   = Marshal.load(file)
  70.         @game_switches  = Marshal.load(file)
  71.         @game_variables = Marshal.load(file)
  72.         @game_actors    = Marshal.load(file)
  73.         @game_party     = Marshal.load(file)
  74.         @game_player    = Marshal.load(file)
  75.         @total_sec = @frame_count / Graphics.frame_rate
  76.       rescue
  77.         @file_exist = false
  78.       ensure
  79.         file.close
  80.       end
  81.     end
  82.   end
  83.   #--------------------------------------------------------------------------
  84.   # ● 描绘游戏时间
  85.   #     x : 绘制点 X 座标
  86.   #     y : 绘制点 Y 座标
  87.   #     width : 描绘区域宽度
  88.   #     align : 对齐方式
  89.   #--------------------------------------------------------------------------
  90.   def draw_playtime(x, y, width, align)
  91.     hour = @total_sec / 60 / 60
  92.     min = @total_sec / 60 % 60
  93.     sec = @total_sec % 60
  94.     time_string = sprintf(" %02d时%02d分", hour, min, sec)#%02d:%02d:%02d
  95.     c = 544 - 230
  96.     self.contents.font.size = 16
  97.     self.contents.font.color = system_color
  98.     self.contents.draw_text(x-374+8+c, y-36-2, width, WLH, "游戏时间:",2)
  99.     self.contents.font.color = normal_color
  100.     self.contents.draw_text(x-320+8+c, y-36-2, width, WLH, time_string, 2)
  101.     self.contents.font.color = system_color
  102.     self.contents.draw_text(x-406+8+c, y-20-2, width, WLH, "章节:", 2)
  103.   end
  104.   #--------------------------------------------------------------------------
  105.   # ● 描绘队员
  106.   #     x : 绘制点 X 座标
  107.   #     y : 绘制点 Y 座标
  108.   #--------------------------------------------------------------------------
  109.   def draw_party_characters(x, y)
  110.     for i in [email protected]
  111.       name = @characters[i][2]
  112.       self.contents.font.size = 16
  113.       self.contents.font.color = normal_color
  114.       self.contents.draw_text(x-56+8+ i * 544, y-44-2, 200, 24, name, 0)
  115.     end
  116.   end
  117.   #--------------------------------------------------------------------------
  118.   # ● 刷新光标
  119.   #--------------------------------------------------------------------------
  120.   def update_cursor
  121.     if @selected
  122.       self.cursor_rect.set(0, 0+7, @name_width + 8, WLH)
  123.     else
  124.       self.cursor_rect.empty
  125.     end
  126.   end
  127. end
  128. #==============================================================================
  129. # ■ Scene_File
  130. #------------------------------------------------------------------------------
  131. #  存档画面及读档画面的类。
  132. #==============================================================================

  133. class Scene_File
  134.   #--------------------------------------------------------------------------
  135.   # ● 开始处理
  136.   #--------------------------------------------------------------------------
  137.   def start
  138.     super
  139.     create_menu_background
  140.     create_savefile_windows
  141.     @z_window = Window_Z.new(0, 0)
  142.     if @saving
  143.       @index = $game_temp.last_file_index
  144.     else
  145.       @index = self.latest_file_index
  146.     end
  147.     @savefile_windows[@index].selected = true
  148.   end
  149.   #--------------------------------------------------------------------------
  150.   # ● 结束处理
  151.   #--------------------------------------------------------------------------
  152.   def terminate
  153.     super
  154.     dispose_menu_background
  155.     @z_window.dispose
  156.     dispose_item_windows
  157.   end
  158.   #--------------------------------------------------------------------------
  159.   # ● 更新画面
  160.   #--------------------------------------------------------------------------
  161.   def update
  162.     super
  163.     update_menu_background
  164.     @z_window.update
  165.     update_savefile_windows
  166.     update_savefile_selection
  167.   end
  168.   #--------------------------------------------------------------------------
  169.   # ● 生成存档窗口
  170.   #--------------------------------------------------------------------------
  171.   def create_savefile_windows
  172.     @savefile_windows = []
  173.     for i in 0..2
  174.       @savefile_windows.push(Window_SaveFile.new(i, make_filename(i)))
  175.     end
  176.     @item_max = 3
  177.   end
  178.   #--------------------------------------------------------------------------
  179.   # ● 写入存档数据
  180.   #     file : 写入存档对象(已开启)
  181.   #--------------------------------------------------------------------------
  182.   def write_save_data(file)
  183.     characters = []
  184.     for actor in $game_party.members
  185.       characters.push([actor.character_name, actor.character_index, actor.name])
  186.     end
  187.     $game_system.save_count += 1
  188.     $game_system.version_id = $data_system.version_id
  189.     @last_bgm = RPG::BGM::last
  190.     @last_bgs = RPG::BGS::last
  191.     Marshal.dump(characters,           file)
  192.     Marshal.dump(Graphics.frame_count, file)
  193.     Marshal.dump(@last_bgm,            file)
  194.     Marshal.dump(@last_bgs,            file)
  195.     Marshal.dump($game_system,         file)
  196.     Marshal.dump($game_message,        file)
  197.     Marshal.dump($game_switches,       file)
  198.     Marshal.dump($game_variables,      file)
  199.     Marshal.dump($game_self_switches,  file)
  200.     Marshal.dump($game_actors,         file)
  201.     Marshal.dump($game_party,          file)
  202.     Marshal.dump($game_troop,          file)
  203.     Marshal.dump($game_map,            file)
  204.     Marshal.dump($game_player,         file)
  205.   end
  206. end
  207. #==============================================================================
  208. # ■ Window_Z
  209. #------------------------------------------------------------------------------
  210. #  显示读档或是存档的文字。
  211. #==============================================================================

  212. class Window_Z < Window_Base
  213.   #--------------------------------------------------------------------------
  214.   # ● 初始化对像
  215.   #     file_index : 存档文件的索引(0-3)
  216.   #     filename   : 文件名称
  217.   #--------------------------------------------------------------------------
  218.   def initialize(x,y)
  219.     super((Graphics.width-230)/2, (Graphics.height-56)/2-64*2+32, 230, 56)#544, 90)
  220.     refresh
  221.   end
  222.   #--------------------------------------------------------------------------
  223.   # ● 刷新
  224.   #--------------------------------------------------------------------------
  225.   def refresh
  226.     self.contents.clear
  227.     self.contents.font.color = normal_color
  228.     self.contents.font.bold = true
  229.     self.contents.draw_text(60, 2, 230, WLH, "存读记忆")
  230.   end
  231. end
复制代码
R剧存档.rar (244.15 KB, 下载次数: 774)

点评

http://bbs.66rpg.com/forum.php?mod=redirect&goto=findpost&ptid=202614&pid=1748116&fromuid=82429  发表于 2011-8-26 17:57

评分

参与人数 1星屑 +176 收起 理由
DeathKing + 176 D计划鼓励!

查看全部评分

大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2011-2-13
帖子
19
2
发表于 2011-3-22 21:00:21 | 只看该作者
顺便晒自己的一个可能是无底坑的R剧

点评

我不是前辈,我研究RM比你还迟。  发表于 2011-3-22 21:08
貌似米饼是唯一不怕被叫前辈的前辈【人家已经超脱了,不在乎减寿了吧?【你说什么呢你!!  发表于 2011-3-22 21:01
米饼前辈对标题背景帮了好大的忙!  发表于 2011-3-22 21:00
回复 支持 反对

使用道具 举报

Lv4.逐梦者

弓箭手?剑兰

梦石
0
星屑
5519
在线时间
833 小时
注册时间
2010-11-17
帖子
1140
3
发表于 2011-3-22 21:07:24 | 只看该作者
Window_Z的refresh很废..."存读记忆"在initialize里写一次就好了,不要update。(耗时)
怎么这么喜欢叫人前辈呢?(哎~{:nm_9:})

竟然真的完全像我的解答一样,储存了角色名字!不是章节?

点评

技术是前辈  发表于 2011-3-22 21:13
回复 支持 反对

使用道具 举报

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
676
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

4
 楼主| 发表于 2011-3-22 21:12:45 | 只看该作者
回复 一箭烂YiJL 的帖子

+-+咱是脚本盲,脚本盲
前..啊不...咱完全不懂脚本
大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
53 小时
注册时间
2011-7-2
帖子
235
5
发表于 2011-8-26 14:45:44 | 只看该作者
是不是只可以存3个记录呢

点评

http://bbs.66rpg.com/forum.php?mod=redirect&goto=findpost&ptid=202614&pid=1748116&fromuid=82429  发表于 2011-8-26 17:04
Skin Box 最大的素材发布
Welcome to join use~

http://crossroadoffice.web-198.com/ 我们建设中的官方网站
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4402
在线时间
1910 小时
注册时间
2010-12-21
帖子
2365
6
发表于 2011-8-26 20:52:40 | 只看该作者
本帖最后由 黄亦天 于 2011-8-26 20:53 编辑

刚回来就看到这么好的东西~
正好准备做个简单一点的养成游戏什么的……
拿去学习(温习脚本+修改)去了~

放了一个月自己写的东西完全看不懂了肿么办 囧

点评

我才不是前辈啊啊啊~~  发表于 2011-8-27 13:59
前辈谦虚了。  发表于 2011-8-27 10:22
为啥看到这广告感觉莫名的不快 = = 真是的都说要自己改了 = =  发表于 2011-8-26 21:39
http://bbs.66rpg.com/forum.php?mod=redirect&goto=findpost&ptid=202614&pid=1748116&fromuid=82429  发表于 2011-8-26 21:21
绿坝娘素材库企划

素材库获取方法:暂时中止,需求者私聊。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-22 02:34

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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